public async Task Execute(TaskModel.Task task, IFormFile[] Evidences, List <string> filesToDelete) { filesToDelete.RemoveAll(string.IsNullOrWhiteSpace); try { if (filesToDelete != null) { await DeleteFiles(filesToDelete, task); } if (Evidences != null) { await InsertFiles(Evidences, task); } _tasksEvidenceRepository.Update(task.TaskID, task.NewEvidencesUrls, task.DeleteEvidencesUrls); updateTaskProperties(task.Observation, task.TaskID, task.TaskStateID); if (task.EntityType == CORRECTIVE_ACTION_ENTITY_TYPE) { await _finishedTasksCorrectiveActionUseCase.Execute(task.EntityID); } } catch (Exception ex) { throw ex; } }
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); }
public TaskOutput Execute(TaskModel.Task task) { var taskEntity = _taskRepository.Get(task.TaskID); if (task != null) { taskEntity.Description = task.Description; taskEntity.ResponsibleUserID = task.ResponsibleUserID; taskEntity.ImplementationPlannedDate = task.ImplementationPlannedDate; taskEntity.RequireEvidence = task.RequireEvidence; return(_mapper.Map <TaskModel.Task, TaskOutput>(_taskRepository.Update(task))); } throw new EntityNotFoundException(taskEntity.TaskID, "No se encontró una tarea con ese ID"); }