chore: refactoring some code to introduce a common base class for all api classes
This commit is contained in:
53
src/Tasks/TasksApi.cs
Normal file
53
src/Tasks/TasksApi.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Novaloop.PaymoApi.Shared;
|
||||
using Novaloop.PaymoApi.Tasks.Models;
|
||||
using Task = System.Threading.Tasks.Task;
|
||||
|
||||
namespace Novaloop.PaymoApi.Tasks
|
||||
{
|
||||
public class TasksApi : ITasksApi
|
||||
{
|
||||
private readonly IBaseApi<TasksResponse, Novaloop.PaymoApi.Tasks.Models.Task> _baseApi;
|
||||
|
||||
public TasksApi(IBaseApi<TasksResponse, Novaloop.PaymoApi.Tasks.Models.Task> baseApi)
|
||||
{
|
||||
_baseApi = baseApi;
|
||||
_baseApi.ResourceUri = "tasks";
|
||||
}
|
||||
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task<IEnumerable<Novaloop.PaymoApi.Tasks.Models.Task>> GetTasks()
|
||||
{
|
||||
return (await _baseApi.GetAll()).Tasks;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task<Novaloop.PaymoApi.Tasks.Models.Task> GetTask(int taskId)
|
||||
{
|
||||
return (await _baseApi.Get(taskId)).Tasks.Single();
|
||||
}
|
||||
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task<Novaloop.PaymoApi.Tasks.Models.Task> CreateTask(Novaloop.PaymoApi.Tasks.Models.Task task)
|
||||
{
|
||||
return (await _baseApi.Create(task)).Tasks.Single();
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task DeleteTask(int taskId)
|
||||
{
|
||||
await _baseApi.Delete(taskId);
|
||||
}
|
||||
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task UpdateTask(Novaloop.PaymoApi.Tasks.Models.Task task, int taskId)
|
||||
{
|
||||
await _baseApi.Update(task, taskId);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user