public void AddCompletedTask(int reportId, int taskId) { if (!taskService.CheckExistence(taskId)) { throw new NonexistentTask(); } TaskDTO taskDto = taskService.Get(taskId); if (taskDto.Status != Task.TaskStatus.Resolved) { throw new NonresolvedTask(); } ReportDTO reportDto = ConvertDalToBbl(repository.GetById(reportId)); if (MyDate.GetDate().Day != reportDto.CreationDate.Day || MyDate.GetDate().Month != reportDto.CreationDate.Month || MyDate.GetDate().Year != reportDto.CreationDate.Year) { throw new TaskTimeIsOver(); } if (reportDto.GetCompletedTasks().Contains(taskId)) { throw new TaskAlreadyCompleted(); } reportDto.AddCompletedTask(taskId); repository.Update(ConvertBblToDal(reportDto)); }
public Report ConvertBblToDal(ReportDTO entity) { return(new Report(entity.Id, entity.EmployeeId, entity.CreationDate, entity.Text, entity.GetCompletedTasks().ToArray())); }