public async Task CreateGameEventAsync(CreateGameEventDto requestedGameEvent) { var creator = await _repository.ApplicationUsers.SingleAsync( ApplicationUser.UserNameEquals(requestedGameEvent.CreatorUserName)); var creatorParticipation = new GameEventParticipation { ParticipantId = creator.Id, ParticipationStatus = ParticipationStatus.Creator }; var gameEvent = new GameEvent { Name = requestedGameEvent.Name, Date = requestedGameEvent.Date, Place = requestedGameEvent.Place, Games = requestedGameEvent.Games .Select((game, index) => new Game { Name = game, PositionOnTheList = index }).ToList(), Participations = new List <GameEventParticipation>(), Description = new DescriptionTab() }; gameEvent.Participations.Add(creatorParticipation); _repository.GameEvents.Add(gameEvent); await _repository.SaveChangesAsync(); }
private async Task ChangeGameEventParticipationStatusAsync( GameEventParticipation participation, ParticipationStatus participationStatus) { participation.ParticipationStatus = participationStatus; await _repository.SaveChangesAsync(); }
private async Task CreateNewGameEventParticipation(int gameEventId, string userToId) { var gameEventParticipation = new GameEventParticipation { TakesPartInId = gameEventId, ParticipantId = userToId, ParticipationStatus = ParticipationStatus.PendingGuest }; _repository.GameEventParticipations.Add(gameEventParticipation); await _repository.SaveChangesAsync(); }