public async Task <CompetitionUserResponse> AddParticipationRequest(Guid userId, Guid competitionId) { var competition = await _competitionRepo.Get(competitionId); competition.EnsureExists("Competition not found."); var existingParticipationRequest = await _participationRequestRepo.Get(userId, competitionId); existingParticipationRequest.EnsureDoesNotExist(); var existingParticipant = await _participantRepo.Get(userId, competitionId); existingParticipant.EnsureDoesNotExist(); var user = await _userRepo.Get(userId); user.EnsureExists("User not found."); var participationRequest = new ParticipationRequest(userId, competitionId); _participationRequestRepo.Create(participationRequest); await _participationRequestRepo.Save(); return(new CompetitionUserResponse(user)); }
public async Task DeleteCompetition(Guid competitionId) { var competition = await _competitionRepo.Get(competitionId); _competitionRepo.Delete(competition); await _competitionRepo.Save(); }