Files
idoklad/Services/ContactsService.cs
T
2026-07-14 06:21:37 +02:00

32 lines
1.4 KiB
C#

using IdokladSdk.Models.Contact;
using IdokladSdk.Response;
using Idoklad.Client;
namespace Idoklad.Services;
/// <summary>Contacts (customers/suppliers) agenda.</summary>
public sealed class ContactsService
{
private readonly IdokladApiAccessor _accessor;
public ContactsService(IdokladApiAccessor accessor) => _accessor = accessor;
public Task<Page<ContactListGetModel>> ListAsync(int page, int pageSize, string? filter, string? filterType, string? sort, CancellationToken ct)
=> _accessor.Api.ContactClient.List().GetPageAsync(page, pageSize, filter, filterType, sort, ct);
public async Task<ContactGetModel> DetailAsync(int id, CancellationToken ct)
=> (await _accessor.Api.ContactClient.Detail(id).GetAsync(ct)).Unwrap();
public async Task<ContactPostModel> DefaultAsync(CancellationToken ct)
=> (await _accessor.Api.ContactClient.DefaultAsync(ct)).Unwrap();
public async Task<ContactGetModel> CreateAsync(ContactPostModel model, CancellationToken ct)
=> (await _accessor.Api.ContactClient.PostAsync(model, ct)).Unwrap();
public async Task<ContactGetModel> UpdateAsync(ContactPatchModel model, CancellationToken ct)
=> (await _accessor.Api.ContactClient.UpdateAsync(model, ct)).Unwrap();
public async Task<bool> DeleteAsync(int id, CancellationToken ct)
=> (await _accessor.Api.ContactClient.DeleteAsync(id, ct)).Unwrap();
}