public async Task SetAnswerForPlayer(string username, int noRound, string answerValue) { var(_, games) = await m_gameService.SearchAsync(new Pagination(), new SimpleFilter <Game>()); var game = games.First(); var rounds = await m_roundService.SearchAsync(new Pagination(), new SimpleFilter <Round>()); //change with noRound var round = rounds.Item2.ElementAt(noRound - 1); var getStudent = await m_studentService.SearchAsync(new Pagination(), new StudentFilter { SearchTerm = username }); var student = getStudent.Item2.FirstOrDefault(); var response = new Response { Id = Guid.NewGuid(), RoundId = round.Id, StudentId = student.Id, Value = answerValue }; var validateResponse = await ValidateResponse(response); await m_responseService.AddAsync(validateResponse); await Clients.All.SendCoreAsync("setScoreForResponse", new object[] { student.Username, validateResponse.Score }); var(count, _) = await m_responseService.SearchAsync(new Pagination(), new SimpleFilter <Response>()); if (count % 3 == 0 && count < 9) { var category = await CreateRoundAsync(); noRound += 1; await Clients.All.SendCoreAsync("getStatusGame", new object[] { "gameStarted", noRound, category }); } if (count == 9) { await Clients.All.SendCoreAsync("getStatusGame", new object[] { "gameOver" }); } }