Example #1
0
 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()));
        }
Example #4
0
 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)));
 }