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/ClientsApi.cs

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);
}
}
}