O Taskrow é uma ferramenta de Gestão e Produtividade, nele você
Para saber mais: https://taskrow.com/
O TaskrowSharp é uma lib em .NET que facilita a integração com o Taskrow, com ela você pode realizar operações como:
Por enquanto não há um Package do nuget disponível, então é necessário baixar a DLL e adicionar no seu projeto. A DLL compilada está disponível em: https://github.com/TaskrowSharp/TaskrowSharp/tree/master/binaries/
Baixe o arquivo e adicione como referência no seu projeto
Para conectar no Taskrow via API é necessário obter uma chave de acesso, para obter a chave de acesso de um usuário, faça o seguinte:
Exemplo de implementação:
var httpClient = new HttpClient();
//TIP: HttpClient is intended to be instantiated once and reused throughout the life of an application, more info: https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpclient
//TIP: You can use a retry policy with Poly, more info: https://learn.microsoft.com/en-us/dotnet/architecture/microservices/implement-resilient-applications/implement-http-call-retries-exponential-backoff-polly
var taskrowClient = new TaskrowSharp.TaskrowClient(new Uri("https://yourdomain.taskrow.com"), "AccessKey_xxxxxxxxxxxxx", httpClient);
var users = await taskrowClient.ListUsersAsync();
Exemplo de implementação:
var taskrowClient = new TaskrowSharp.TaskrowClient(new Uri("https://yourdomain.taskrow.com"), "AccessKey_xxxxxxxxxxxxx", httpClient);
var users = await taskrowClient.ListUsersAsync();
var taskReference = new TaskReference("client", 12, 1235);
var taskResponse = await _taskrowClient.GetTaskDetailAsync(taskReference);
var task = taskResponse.TaskData;
var taskComment = "Task forwarded";
int ownerUserID = users.First().UserID;
var dueDate = DateTime.Now.Date;
var request = new SaveTaskRequest(taskResponse.JobData.Client.ClientNickName, taskResponse.JobData.JobNumber, task.TaskNumber, task.TaskID)
{
TaskTitle = task.TaskTitle,
TaskItemComment = taskComment,
OwnerUserID = ownerUserID,
RowVersion = task.RowVersion,
LastTaskItemID = task.NewTaskItems.Last().TaskItemID,
DueDate = dueDate.ToString("yyyy-MM-dd"),
EffortEstimation = task.EffortEstimation
};
var response = await _taskrowClient.SaveTaskAsync(request);