50 lines
1.7 KiB
C#
50 lines
1.7 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 PaymoClientContactsApi : IPaymoClientContactsApi
|
|
{
|
|
private readonly IPaymoBaseApi<PaymoClientContactsResponse, PaymoClientContact> _paymoBaseApi;
|
|
|
|
public PaymoClientContactsApi(IPaymoBaseApi<PaymoClientContactsResponse, PaymoClientContact> paymoBaseApi)
|
|
{
|
|
_paymoBaseApi = paymoBaseApi;
|
|
_paymoBaseApi.ResourceUri = "clientcontacts";
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
public async Task<IEnumerable<PaymoClientContact>> GetClientContacts()
|
|
{
|
|
return (await _paymoBaseApi.GetAll()).ClientContacts;
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
public async Task<PaymoClientContact> GetClientContact(int clientContactId)
|
|
{
|
|
return (await _paymoBaseApi.Get(clientContactId)).ClientContacts.Single();
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
public async Task<PaymoClientContact> CreateClientContact(PaymoClientContact paymoClientContact)
|
|
{
|
|
return (await _paymoBaseApi.Create(paymoClientContact)).ClientContacts.Single();
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
public async Task DeleteClientContact(int clientContactId)
|
|
{
|
|
await _paymoBaseApi.Delete(clientContactId);
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
public async Task UpdateClientContact(ExpandoObject clientContact, int clientContactId)
|
|
{
|
|
await _paymoBaseApi.Update(clientContact, clientContactId);
|
|
}
|
|
}
|
|
} |