public async Task <ActionResult <ProjectTaskPerformer> > CreateItem([FromForm] ProjectTaskPerformer item) { try { if (item.ProjectTaskPerformerId > 0) { return(BadRequest("Идентификатор записи должен быть равен 0")); } if (item.ProjectTaskId == 0) { return(BadRequest("Идентификатор задачи не должен быть равен 0")); } if (item.UserId == 0) { return(BadRequest("Идентификатор пользователя не должен быть равен 0")); } var existItems = await _projectTaskPerformerRepository .FindAsync(e => e.UserId.Equals(item.UserId) && e.ProjectTaskId.Equals(item.ProjectTaskId) && !e.Deleted); if (existItems.Count > 0) { return(BadRequest("Указанный исполнитель уже назначен на эту задачу")); } var user = await _userRepository.FindByIdAsync(item.UserId); if (user == null) { return(BadRequest("Пользователь не найден")); } var task = await _projectTaskRepository.FindByIdAsync(item.UserId); if (task == null) { return(BadRequest("Задача не найдена")); } item.User = user; item.Task = task; await _projectTaskPerformerRepository.CreateAsync(item); return(item); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <ActionResult <ProjectTaskPerformer> > UpdateItem([FromForm] ProjectTaskPerformer item) { try { var existItem = await _projectTaskPerformerRepository.FindByIdAsync(item.ProjectTaskPerformerId); if (existItem == null) { return(NotFound()); } var user = await _userRepository.FindByIdAsync(item.UserId); if (user == null) { return(BadRequest("Пользователь не найден")); } var task = await _projectTaskRepository.FindByIdAsync(item.UserId); if (task == null) { return(BadRequest("Задача не найдена")); } existItem.User = user; existItem.Task = task; await _projectTaskPerformerRepository.EditAsync(existItem); return(existItem); } catch (Exception ex) { return(BadRequest(ex.Message)); } }