public async Task Execute(TaskModel.Task task, string observation, DateTime overdureTime, int TaskID) { var getTask = _taskRepository.Get(TaskID); var users = _userReopository.GetAll(); var idUser = ""; foreach (var u in users) { var roles = u.Roles; foreach (var r in roles) { if (r == "Aprobador de AC") { idUser = u.Id; } } } var ResponsibleUser = _userReopository.Get(idUser); var email = ResponsibleUser.Email; List <string> EmailsToNotify = new List <string>(); EmailsToNotify.Add(email); int taskStateID = 0; var url = $"{_emailSettings.Url}/quality/tasks/{ TaskID }/detail"; var content = $"<html>" + $"<body>" + $"<p>Estimado Usuario: </p>" + $"<p>Se solicita extensión fecha de vencimiento de una tarea de Acción Correctiva. </p>" + $"<p><b>Id tarea: </b>{getTask.TaskID}.</p>" + $"<p><b>Descripción de la tarea: </b>{getTask.Description}.</p>" + $"<p><b>Responsable asignado a la tarea: </b>{getTask.ResponsibleUser.FullName}.</p>" + $"<p><b>Fecha vencimiento de la tarea: </b>{getTask.ImplementationPlannedDate.ToString("dd/MM/yyyy")}.</p>" + $"<p><b>Estado: </b>{getTask.TaskState.Name}.</p>" + $"<p><b>Fecha vencimiento solicitada: </b>{task.overdureTime.Value.ToString("dd/MM/yyyy")}.</p>" + $"<p>Puede acceder desde aquí: <a href={url}>Ver tarea de Acción Correctiva</a>.</p>" + $"<p></p>" + $"<p>Saludos cordiales.</p>" + $"</body>" + $"</html>"; await _emailSender.SendEmailAsync(EmailsToNotify.ToArray(), new List <string>().ToArray(), new List <string>().ToArray(), "Solicitud extensión de fecha de vencimiento de tarea de AC", content, true, System.Net.Mail.MailPriority.High); var allTaskStates = _getAllTaskStates.Execute(); foreach (var s in allTaskStates) { if (s.Code == "EFV") { taskStateID = s.TaskStateID; } } getTask.TaskStateID = taskStateID; _taskRepository.Update(getTask); }
// [ServiceFilter(typeof(CacheEndpointFilter))] public IActionResult Get() { return(new OkObjectResult(_getAllTaskStatesUseCase.Execute())); }