public IActionResult saveGrade(int participationId, [FromBody] SavedGradeDTO grade) { var claimsIdentity = this.User.Identity as ClaimsIdentity; try { if (!appSettingsService.canGrade()) { throw new AppException("Akcja obecnie niedozwolona"); } userService.IsUserAnJudge(claimsIdentity); contestService.saveGrade(grade); return(Ok()); } catch (Exception e) { return(BadRequest(new { message = e.Message })); } }
public void saveGrade(SavedGradeDTO grade) { Participation participation = context.Participation.Where(p => p.ParticipationId == grade.participationId).FirstOrDefault(); if (participation == null) { throw new AppException("Nie odnaleziono uczestnika"); } participation.GradeId = grade.gradeId; participation.Description = grade.description; if (grade.isFinalist) { if (context.Participation.Where(p => p.ContestId == grade.gradeId && p.Place == grade.place && p.ParticipationId != grade.participationId).Count() > 0) { throw new AppException("Istnieje już finalista o podanym miejscu"); } participation.Place = grade.place; } context.SaveChanges(); }