This repository has been archived on 2025-05-19. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
novaloop.paymoapi/src/Clients/PaymoPaymoClientsApi.cs
2021-12-17 15:28:16 +01:00

50 lines
1.4 KiB
C#

using System.Collections.Generic;
using System.Dynamic;
using System.Linq;
using System.Threading.Tasks;
using Novaloop.PaymoApi.Clients.Models;
using Novaloop.PaymoApi.Shared;
namespace Novaloop.PaymoApi.Clients
{
public class PaymoPaymoClientsApi : IPaymoClientsApi
{
private readonly IPaymoBaseApi<PaymoClientsResponse, PaymoClient> _paymoBaseApi;
public PaymoPaymoClientsApi(IPaymoBaseApi<PaymoClientsResponse, PaymoClient> paymoBaseApi)
{
_paymoBaseApi = paymoBaseApi;
_paymoBaseApi.ResourceUri = "clients";
}
/// <inheritdoc />
public async Task<IEnumerable<PaymoClient>> GetClients()
{
return (await _paymoBaseApi.GetAll()).Clients;
}
/// <inheritdoc />
public async Task<PaymoClient> GetClient(int clientId)
{
return (await _paymoBaseApi.Get(clientId)).Clients.Single();
}
/// <inheritdoc />
public async Task<PaymoClient> CreateClient(PaymoClient paymoClient)
{
return (await _paymoBaseApi.Create(paymoClient)).Clients.Single();
}
/// <inheritdoc />
public async Task DeleteClient(int clientId)
{
await _paymoBaseApi.Delete(clientId);
}
/// <inheritdoc />
public async Task UpdateClient(ExpandoObject client, int clientId)
{
await _paymoBaseApi.Update(client, clientId);
}
}
}