public void DeleteScore(int oficialGameId) { OficialGameSaveRequest oficialGameSaveRequest = new OficialGameSaveRequest(); oficialGameSaveRequest.UserId = GetUserId(); oficialGameSaveRequest.OficialGameId = oficialGameId; _oficialGameService.DeleteScore(oficialGameSaveRequest); }
public void DeleteScore(OficialGameSaveRequest oficialGameSaveRequest) { //--- validações _oficialGameValidation.CanUpdateScore(oficialGameSaveRequest.UserId); //--- atualiza o resultado _oficialGameRepository.DeleteScore(oficialGameSaveRequest.OficialGameId); //--- remove o calculo do jogo com o placar deletado _userPointService.DeleteByOficialGameId(oficialGameSaveRequest.OficialGameId); }
public void UpdateScore(OficialGameSaveRequest oficialGameSaveRequest) { //--- validações _oficialGameValidation.ValidadeScore(oficialGameSaveRequest.ScoreTeamA); _oficialGameValidation.ValidadeScore(oficialGameSaveRequest.ScoreTeamB); _oficialGameValidation.CanUpdateScore(oficialGameSaveRequest.UserId); //--- atualiza o resultado _oficialGameRepository.UpdateScore(oficialGameSaveRequest); //--- calcula os pontos dos palpites dos usuarios _userPointService.Calculate(oficialGameSaveRequest); }
public void UpdateScore(OficialGameSaveRequest oficialGameSaveRequest) { using (SqlConnection conn = new SqlConnection(ConnectionString())) { using (var cmd = new SqlCommand()) { cmd.Connection = conn; cmd.CommandText = _oficialGameSql.SqlUpdateScore(); cmd.CommandType = CommandType.Text; cmd.Parameters.AddWithValue("@OficialGameId", GetDbValue(oficialGameSaveRequest.OficialGameId)); cmd.Parameters.AddWithValue("@ScoreTeamA", GetDbValue(oficialGameSaveRequest.ScoreTeamA)); cmd.Parameters.AddWithValue("@ScoreTeamB", GetDbValue(oficialGameSaveRequest.ScoreTeamB)); conn.Open(); cmd.ExecuteNonQuery(); } } }
public void Calculate(OficialGameSaveRequest oficialGame) { List <UserPoint> userPoints = new List <UserPoint> (0); //--- obter a lista de resultados do usuário do jogo que deseja calcular List <UserGameScore> userGameScores = _userGameService.ListByOficialGameId(oficialGame.OficialGameId); //--- loop para calcular foreach (var userGameScore in userGameScores) { //--- resultado de vitoria certo com placar certo if ((oficialGame.ScoreTeamA == userGameScore.ScoreTeamA && oficialGame.ScoreTeamB == userGameScore.ScoreTeamB) && ((oficialGame.ScoreTeamA > oficialGame.ScoreTeamB && userGameScore.ScoreTeamA > userGameScore.ScoreTeamB) || (oficialGame.ScoreTeamA < oficialGame.ScoreTeamB && userGameScore.ScoreTeamA < userGameScore.ScoreTeamB))) { userPoints.Add(new UserPoint { UserId = userGameScore.UserId, OficialGameId = userGameScore.OficialGameId, PointType = PointTypeEnum.ResultadoDeVitoriaCertoComPlacarCerto }); continue; } //--- resultado de vitoria certo com um placar certo if ((oficialGame.ScoreTeamA == userGameScore.ScoreTeamA || oficialGame.ScoreTeamB == userGameScore.ScoreTeamB) && ((oficialGame.ScoreTeamA > oficialGame.ScoreTeamB && userGameScore.ScoreTeamA > userGameScore.ScoreTeamB) || (oficialGame.ScoreTeamA < oficialGame.ScoreTeamB && userGameScore.ScoreTeamA < userGameScore.ScoreTeamB))) { userPoints.Add(new UserPoint { UserId = userGameScore.UserId, OficialGameId = userGameScore.OficialGameId, PointType = PointTypeEnum.ResultadoDeVitoriaCertoComUmPlacarCerto }); continue; } //--- resultado de vitoria certo com um placar errado if ((oficialGame.ScoreTeamA != userGameScore.ScoreTeamA && oficialGame.ScoreTeamB != userGameScore.ScoreTeamB) && ((oficialGame.ScoreTeamA > oficialGame.ScoreTeamB && userGameScore.ScoreTeamA > userGameScore.ScoreTeamB) || (oficialGame.ScoreTeamA < oficialGame.ScoreTeamB && userGameScore.ScoreTeamA < userGameScore.ScoreTeamB))) { userPoints.Add(new UserPoint { UserId = userGameScore.UserId, OficialGameId = userGameScore.OficialGameId, PointType = PointTypeEnum.ResultadoDeVitoriaCertoComPlacarErrado }); continue; } //--- Resultado de empate certo com placar certo if (oficialGame.ScoreTeamA == userGameScore.ScoreTeamA && oficialGame.ScoreTeamB == userGameScore.ScoreTeamB && oficialGame.ScoreTeamA == oficialGame.ScoreTeamB) { userPoints.Add(new UserPoint { UserId = userGameScore.UserId, OficialGameId = userGameScore.OficialGameId, PointType = PointTypeEnum.ResultadoDeEmpateCertoComPlacarCerto }); continue; } //--- Resultado de empate certo com placar errado if (oficialGame.ScoreTeamA != userGameScore.ScoreTeamA && oficialGame.ScoreTeamB != userGameScore.ScoreTeamB && oficialGame.ScoreTeamA == oficialGame.ScoreTeamB && userGameScore.ScoreTeamA == userGameScore.ScoreTeamB) { userPoints.Add(new UserPoint { UserId = userGameScore.UserId, OficialGameId = userGameScore.OficialGameId, PointType = PointTypeEnum.ResultadoDeEmpateCertoComPlacarErrado }); continue; } //--- caso o resultado esteja errado userPoints.Add(new UserPoint { UserId = userGameScore.UserId, OficialGameId = userGameScore.OficialGameId, PointType = PointTypeEnum.ResultadoErrado }); } _userPointRepository.Create(userPoints); List(ignoreCache: true); }
public void UpdateScore([FromBody] OficialGameSaveRequest oficialGameSaveRequest) { oficialGameSaveRequest.UserId = GetUserId(); _oficialGameService.UpdateScore(oficialGameSaveRequest); }