public async Task <IHttpActionResult> CreateNewCompetition([FromBody] CompetitionCreationInfoDTO competitionSettings) { try { using (var competitionService = new CompetitionService()) using (var competitorService = new CompetitorService(competitionService.DbContext)) { var competition = competitionService.CreateNewCompetition(competitionSettings.Options); competitorService.InsertNewCompetitors(competition, competitionSettings.Competitors); await competitionService.DbContext.SaveChangesAsync(); return(Ok(competition.Id)); } } catch (Exception e) { return(BadRequest()); } }