50 lines
1.3 KiB
C#
50 lines
1.3 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 ClientsApi : IClientsApi
|
|
{
|
|
private readonly IBaseApi<ClientsResponse, Client> _baseApi;
|
|
|
|
public ClientsApi(IBaseApi<ClientsResponse, Client> baseApi)
|
|
{
|
|
_baseApi = baseApi;
|
|
_baseApi.ResourceUri = "clients";
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
public async Task<IEnumerable<Client>> GetClients()
|
|
{
|
|
return (await _baseApi.GetAll()).Clients;
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
public async Task<Client> GetClient(int clientId)
|
|
{
|
|
return (await _baseApi.Get(clientId)).Clients.Single();
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
public async Task<Client> CreateClient(Client client)
|
|
{
|
|
return (await _baseApi.Create(client)).Clients.Single();
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
public async Task DeleteClient(int clientId)
|
|
{
|
|
await _baseApi.Delete(clientId);
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
public async Task UpdateClient(ExpandoObject client, int clientId)
|
|
{
|
|
await _baseApi.Update(client, clientId);
|
|
}
|
|
}
|
|
} |