public ActionResult <TaskListReadDto> GetTaskListById(long id) { _logger.LogInformation("Consultando a lista de tarefas de Id: {id}", id); TaskList taskList = _taskListsRepo.GetTaskListById(id); if (taskList == null) { _logger.LogWarning("A lista de tarefas de Id: {id} não existe", id); return(NotFound()); } _logger.LogInformation("Mapeando a lista de tarefas de Id: {id} para a classe de DTO", id); TaskListReadDto taskListReadDto = _mapper.Map <TaskListReadDto>(taskList); if (taskList.Tasks != null && taskList.Tasks.Count > 0) { List <Tag> tags; for (int i = 0; i < taskList.Tasks.Count; i++) { if (taskList.Tasks[i].TaskTags != null && taskList.Tasks[i].TaskTags.Count > 0) { _logger.LogInformation("Mapeando as tags da tarefa de Id: {id} para a classe de DTO", taskList.Tasks[i].Id); tags = taskList.Tasks[i].TaskTags.Select(tt => tt.Tag).ToList(); taskListReadDto.Tasks[i].Tags = _mapper.Map <List <TagReadDto> >(tags); } } } return(Ok(taskListReadDto)); }
public ActionResult <IEnumerable <TaskReadDto> > GetTasks(long taskListId) { _logger.LogInformation("Consultando a lista de tarefas de Id: {id}", taskListId); TaskList taskList = _taskListsRepo.GetTaskListById(taskListId); if (taskList == null) { _logger.LogWarning("A lista de tarefas de Id: {id} não existe", taskListId); return(NotFound()); } _logger.LogInformation("Consultando as tarefas cadastradas para a lista de Id: {id}", taskListId); IEnumerable <Models.Task> tasks = _tasksRepo.GetTasks(taskListId); List <Tag> tags; TaskReadDto taskDto; List <TaskReadDto> taskDtos = new List <TaskReadDto>(); foreach (Models.Task task in tasks) { _logger.LogInformation("Realizando o mapeamento da tarefa de Id: {id} para a classe de DTO", task.Id); taskDto = _mapper.Map <TaskReadDto>(task); if (task.TaskTags != null && task.TaskTags.Count > 0) { _logger.LogInformation("Realizando o mapeamento das tags da tarefa de Id: {id} para a classe de DTO", task.Id); tags = task.TaskTags.Select(tt => tt.Tag).ToList(); taskDto.Tags = _mapper.Map <List <TagReadDto> >(tags); } _logger.LogInformation("Adicionando a tarefa de Id: {id} na lista de tarefas", task.Id); taskDtos.Add(taskDto); } return(Ok(taskDtos)); }