50 lines
1.4 KiB
C#
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);
|
|
}
|
|
}
|
|
} |