Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        private async Task ChangeGameEventParticipationStatusAsync(
            GameEventParticipation participation,
            ParticipationStatus participationStatus)
        {
            participation.ParticipationStatus = participationStatus;

            await _repository.SaveChangesAsync();
        }
Exemplo n.º 3
0
        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();
        }