public Competition CreateCompetition(Guid challengeId, CompetitionRequest request) { return(new Competition { ChallengeId = challengeId, IsHighestScoreWins = request.IsHighestScoreWins, IsPrivate = request.IsPrivate, }); }
public async Task <CompetitionResponse> AddCompetition(Guid userId, CompetitionRequest request) { var challenge = _mappingService.CreateChallenge(request); var competition = _mappingService.CreateCompetition(challenge.ChallengeId, request); _challengeRepo.Create(challenge); _competitionRepo.Create(competition); _participantRepo.Create(new Participant(userId, competition.CompetitionId)); _adminRepo.Create(new Admin(userId, competition.CompetitionId)); await _competitionRepo.Save(); return(new CompetitionResponse(competition, true, userId)); }
public async Task <CompetitionResponse> UpdateCompetition(Guid competitionId, CompetitionRequest request) { var existingCompetition = await _competitionRepo.GetWithInfo(competitionId); var updatedChallenge = _mappingService.UpdateChallenge(existingCompetition.Challenge, request); var updatedCompetition = _mappingService.UpdateCompetition(existingCompetition, request); _challengeRepo.Update(updatedChallenge); _competitionRepo.Update(updatedCompetition); await _competitionRepo.Save(); //userId is not required if user is admin return(new CompetitionResponse(updatedCompetition, true, Guid.NewGuid())); }
public Competition UpdateCompetition(Competition existingCompetition, CompetitionRequest request) { existingCompetition.IsPrivate = request.IsPrivate; existingCompetition.IsHighestScoreWins = request.IsHighestScoreWins; return(existingCompetition); }
public async Task <ActionResult <CompetitionResponse> > UpdateCompetition(Guid competitionId, CompetitionRequest request) { var competition = await _competitionService.UpdateCompetition(competitionId, request); return(Ok(competition)); }
public async Task <ActionResult <CompetitionResponse> > AddCompetition(CompetitionRequest request) { return(Ok(await _competitionService.AddCompetition(UserId, request))); }