// создание сущности задачи и добавление в БД public async Task <OperationDetailDTO <string> > CreateNewTaskAsync(TaskCreateModelDTO dto = null) { var detail = new OperationDetailDTO <string>(); try { var currentUserEntity = await GetUserFromClaimsAsync(); var teacherEntity = await _context.Teachers .Include(t => t.User) .Where(t => t.UserId == currentUserEntity.Id) .FirstOrDefaultAsync(); if (dto != null) { var newTask = TaskCreateModelDTO.Map(dto); newTask.TeacherId = teacherEntity.Id; await AddStudentsToTaskAsync(newTask, dto.StudentIds); await _context.TaskModels.AddAsync(newTask); await _context.SaveChangesAsync(); var createdTask = await _context.TaskModels.FirstOrDefaultAsync(t => t == newTask); if (createdTask != null) { detail.Data = createdTask.Id.ToString(); detail.Succeeded = true; } else { detail.ErrorMessages.Add(_serverErrorMessage + "При создании задачи что-то пошло не так."); } return(detail); } else { detail.ErrorMessages.Add("Параметр модели создаваемой задачи был равен NULL."); return(detail); } } catch (Exception e) { detail.ErrorMessages.Add(e.Message); return(detail); } }
public async Task <IActionResult> UpdateTaskAsync([FromBody] TaskCreateModelDTO task = null) { var res = await _teacherService.UpdateTaskAsync(task); return(Ok(res)); }
// done public async Task <OperationDetailDTO> UpdateTaskAsync(TaskCreateModelDTO dto) { var detail = new OperationDetailDTO <TaskDTO>(); try { if (dto == null) { detail.ErrorMessages.Add("Объект входного параметра был равен NULL."); return(detail); } var entity = await _context.TaskModels.FindAsync(dto.Id); if (entity == null) { detail.ErrorMessages.Add("Задача не найдена."); return(detail); } entity.Name = dto.Name; entity.ContentText = dto.ContentText; entity.FinishDate = dto.FinishDate; entity.UpdateDate = DateTime.Now; if (entity.BeginDate < entity.FinishDate && !String.IsNullOrEmpty(dto.Name) && !String.IsNullOrEmpty(dto.ContentText)) { _context.TaskModels.Update(entity); await _context.SaveChangesAsync(); detail.Succeeded = true; } else { detail.ErrorMessages.Add("Данные задачи заполнены некорректно, попробуйте заново."); } //if (entity.BeginDate < dto.FinishDate && DateTime.Now < dto.FinishDate // && !String.IsNullOrEmpty(dto.Name) && !String.IsNullOrEmpty(dto.ContentText)) //{ // entity.Name = dto.Name; // entity.ContentText = dto.ContentText; // entity.FinishDate = dto.FinishDate; // _context.TaskModels.Update(entity); // await _context.SaveChangesAsync(); // detail.Succeeded = true; //} //else //{ // detail.ErrorMessages.Add("Данные задачи заполнены некорректно, попробуйте заново."); //} return(detail); } catch (Exception e) { detail.ErrorMessages.Add(_serverErrorMessage + e.Message); return(detail); } }