public IActionResult Post([FromBody] Progress item) { try { if (item == null || !ModelState.IsValid || item.Assignment != null || item.ProgressId != 0 || item.AssignmentId == 0) { return(BadRequest(ErrorCode.DataProvidedIsInvalid.ToString())); } var assignmentItem = _assignmentRepository.Find(item.AssignmentId); if (assignmentItem == null) { return(BadRequest(ErrorCode.DataProvidedIsInvalid.ToString())); } var userItem = _userRepository.Find(assignmentItem.UserId); if (userItem == null || userItem.Email != User.FindFirstValue(ClaimTypes.Email)) { return(BadRequest(ErrorCode.DataProvidedIsInvalid.ToString())); } _progressRepository.Insert(item); } catch (Exception) { return(BadRequest(ErrorCode.CouldNotCreateItem.ToString())); } return(Ok(item)); }
public IActionResult Get(long id) { var assignmentItem = _assignmentRepository.Find(id); if (assignmentItem == null) { return(NotFound(ErrorCode.ItemNotFound.ToString())); } return(Ok(assignmentItem)); }
public IEnumerable <Assignment> Find(Expression <Func <Assignment, bool> > predicate) { return(assignmentRepo.Find(predicate)); }