using Idoklad.Client; namespace Idoklad.Services; /// /// Read-only iDoklad code lists (registers): banks, countries, currencies, constant symbols, /// exchange rates, payment options, VAT codes, VAT reverse-charge codes, sales offices and /// sales POS equipment. Every agenda supports list + detail. /// public sealed class CodeListsService { private readonly IdokladApiAccessor _accessor; public CodeListsService(IdokladApiAccessor accessor) => _accessor = accessor; public Task ListBanksAsync(int page, int pageSize, CancellationToken ct) => _accessor.Api.BankClient.List().ToPageAsync(page, pageSize, ct); public Task BankDetailAsync(int id, CancellationToken ct) => _accessor.Api.BankClient.Detail(id).ToDetailAsync(ct); public Task ListCountriesAsync(int page, int pageSize, CancellationToken ct) => _accessor.Api.CountryClient.List().ToPageAsync(page, pageSize, ct); public Task CountryDetailAsync(int id, CancellationToken ct) => _accessor.Api.CountryClient.Detail(id).ToDetailAsync(ct); public Task ListCurrenciesAsync(int page, int pageSize, CancellationToken ct) => _accessor.Api.CurrencyClient.List().ToPageAsync(page, pageSize, ct); public Task CurrencyDetailAsync(int id, CancellationToken ct) => _accessor.Api.CurrencyClient.Detail(id).ToDetailAsync(ct); public Task ListConstantSymbolsAsync(int page, int pageSize, CancellationToken ct) => _accessor.Api.ConstantSymbolClient.List().ToPageAsync(page, pageSize, ct); public Task ConstantSymbolDetailAsync(int id, CancellationToken ct) => _accessor.Api.ConstantSymbolClient.Detail(id).ToDetailAsync(ct); public Task ListExchangeRatesAsync(int page, int pageSize, CancellationToken ct) => _accessor.Api.ExchangeRateClient.List().ToPageAsync(page, pageSize, ct); public Task ExchangeRateDetailAsync(int id, CancellationToken ct) => _accessor.Api.ExchangeRateClient.Detail(id).ToDetailAsync(ct); public Task ListPaymentOptionsAsync(int page, int pageSize, CancellationToken ct) => _accessor.Api.PaymentOptionClient.List().ToPageAsync(page, pageSize, ct); public Task PaymentOptionDetailAsync(int id, CancellationToken ct) => _accessor.Api.PaymentOptionClient.Detail(id).ToDetailAsync(ct); public Task ListVatCodesAsync(int page, int pageSize, CancellationToken ct) => _accessor.Api.VatCodeClient.List().ToPageAsync(page, pageSize, ct); public Task VatCodeDetailAsync(int id, CancellationToken ct) => _accessor.Api.VatCodeClient.Detail(id).ToDetailAsync(ct); public Task ListVatReverseChargeCodesAsync(int page, int pageSize, CancellationToken ct) => _accessor.Api.VatReverseChargeCodeClient.List().ToPageAsync(page, pageSize, ct); public Task VatReverseChargeCodeDetailAsync(int id, CancellationToken ct) => _accessor.Api.VatReverseChargeCodeClient.Detail(id).ToDetailAsync(ct); public Task ListSalesOfficesAsync(int page, int pageSize, CancellationToken ct) => _accessor.Api.SalesOfficeClient.List().ToPageAsync(page, pageSize, ct); public Task SalesOfficeDetailAsync(int id, CancellationToken ct) => _accessor.Api.SalesOfficeClient.Detail(id).ToDetailAsync(ct); public Task ListSalesPosEquipmentAsync(int page, int pageSize, CancellationToken ct) => _accessor.Api.SalesPosEquipmentClient.List().ToPageAsync(page, pageSize, ct); public Task SalesPosEquipmentDetailAsync(int id, CancellationToken ct) => _accessor.Api.SalesPosEquipmentClient.Detail(id).ToDetailAsync(ct); }