Exemplo n.º 1
0
        public async Task <int> CreatePlayerAnswer(CreatePlayerAnswerModel model)
        {
            var newAnswer = new PlayerAnswer
            {
                AnswerCardId          = model.AnswerCardId,
                SecondaryAnswerCardId = model.SecondaryAnswerCardId,
                GameRoundId           = model.GameRoundId,
                PlayerId         = model.PlayerId,
                IsSelectedAnswer = false
            };

            context.PlayerAnswers.Add(newAnswer);
            await context.SaveChangesAsync();

            return(newAnswer.PlayerAnswerId);
        }
Exemplo n.º 2
0
        private async Task<int> SubmitAnswer(SubmitAnswer request, Model.DTO.Players.PlayerModel player)
        {
            var submitModel = new CreatePlayerAnswerModel
            {
                GameRoundId = request.GameRoundId,
                PlayerId = player.PlayerId,
                AnswerCardId = await GetAnswerCardId(request.PlayerCardId),
                SecondaryAnswerCardId = await GetSecondaryAnswerCardId(request.SecondPlayerCardId)
            };
            var answerId = await playerAnswerRepository.CreatePlayerAnswer(submitModel);

            await MarkCardAsUsed(request.PlayerCardId);
            await MarkCardAsUsed(request.SecondPlayerCardId);

            return answerId;
        }
Exemplo n.º 3
0
        public async Task CreatePlayerAnswer()
        {
            var languageId = await Fixture.CreateDefaultLanguage();

            var userId = await Fixture.CreateDefaultUser();

            var gameId = await Fixture.CreateDefaultGame(languageId, userId);

            var playerId = await Fixture.CreateDefaultPlayer(userId, gameId);

            var questionCardId = await CreateQuestionCard(languageId);

            var gameRound = await CreateGameRound(gameId, playerId, questionCardId);

            var answerCardId = await CreateAnswerCard(languageId);

            var repository   = Fixture.GetService <IPlayerAnswersRepository>();
            var createAnswer = new CreatePlayerAnswerModel
            {
                AnswerCardId = answerCardId,
                GameRoundId  = gameRound.GameRoundId,
                PlayerId     = playerId
            };

            var playerAnswerId = await repository.CreatePlayerAnswer(createAnswer);

            var answers = await repository.GetAllPlayerAnswers(gameRound.GameRoundId);

            Assert.Single(answers);

            var answer = answers.First();

            Assert.Equal(answerCardId, answer.AnswerCardId);
            Assert.Equal(gameRound.GameRoundId, answer.GameRoundId);
            Assert.False(answer.IsSelectedAnswer);
            Assert.Equal(playerId, answer.PlayerId);
            Assert.Null(answer.SecondaryAnswerCardId);
            TestHelper.AssertNumberOfFields <CreatePlayerAnswerModel>(4);
        }