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/ClientContacts/ClientContactsApi.cs

50 lines
1.5 KiB
C#

using System.Collections.Generic;
using System.Dynamic;
using System.Linq;
using System.Threading.Tasks;
using Novaloop.PaymoApi.ClientContacts.Models;
using Novaloop.PaymoApi.Shared;
namespace Novaloop.PaymoApi.ClientContacts
{
public class ClientContactsApi : IClientContactsApi
{
private readonly IBaseApi<ClientContactsResponse, ClientContact> _baseApi;
public ClientContactsApi(IBaseApi<ClientContactsResponse, ClientContact> baseApi)
{
_baseApi = baseApi;
_baseApi.ResourceUri = "clientcontacts";
}
/// <inheritdoc />
public async Task<IEnumerable<ClientContact>> GetClientContacts()
{
return (await _baseApi.GetAll()).ClientContacts;
}
/// <inheritdoc />
public async Task<ClientContact> GetClientContact(int clientContactId)
{
return (await _baseApi.Get(clientContactId)).ClientContacts.Single();
}
/// <inheritdoc />
public async Task<ClientContact> CreateClientContact(ClientContact clientContact)
{
return (await _baseApi.Create(clientContact)).ClientContacts.Single();
}
/// <inheritdoc />
public async Task DeleteClientContact(int clientContactId)
{
await _baseApi.Delete(clientContactId);
}
/// <inheritdoc />
public async Task UpdateClientContact(ExpandoObject clientContact, int clientContactId)
{
await _baseApi.Update(clientContact, clientContactId);
}
}
}