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); }
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; }
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); }