public async Task <ClsReponseGeneric> AddBet(ClsBet clsBet) { SqlConnection sql = new SqlConnection(_connectionString); ClsReponseGeneric clsResponseGeneric = new ClsReponseGeneric(); DataTable datos = new DataTable(); var sqlDataAdapter = new SqlDataAdapter("dbo.USP_NewBet", _connectionString); SqlParameter[] parametro = { new SqlParameter { ParameterName = "@InIdRoulette", Value = clsBet.InIdRoulette }, new SqlParameter { ParameterName = "@InBetPosition", Value = clsBet.InBetPosition }, new SqlParameter { ParameterName = "@ChBetColor", Value = clsBet.StrBetColor }, new SqlParameter { ParameterName = "@DcBetValue", Value = clsBet.DcBetValue }, new SqlParameter { ParameterName = "@InCodPlayer", Value = clsBet.InCodPlayer } }; try { sqlDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure; sqlDataAdapter.SelectCommand.CommandTimeout = 0; sqlDataAdapter.SelectCommand.Parameters.AddRange(parametro); sqlDataAdapter.SelectCommand.Connection.Open(); await Task.Run(() => sqlDataAdapter.Fill(datos)); if (datos.Rows.Count > 0) { clsResponseGeneric.message = datos.Rows[0].ItemArray[0].ToString(); } else { clsResponseGeneric.message = "registered bet"; } } catch (Exception Ex) { throw new Exception(Ex.Message); } finally { sqlDataAdapter.SelectCommand.Connection.Close(); sqlDataAdapter.SelectCommand.Dispose(); } return(clsResponseGeneric); }
public async Task <ClsReponseGeneric> ValidateBet(ClsBet clsBet) { ClsReponseGeneric clsReponseGeneric = new ClsReponseGeneric(); List <ClsRoulettePosition> positionsList = await GetRoulettePositions(); ClsPlayer clsPlayer = await _playerRepository.FindPlayerByCod(clsBet.InCodPlayer); if (clsPlayer.InCodUser != 0) { if (clsBet.DcBetValue <= 10000) { if (clsPlayer.DcCredit >= clsBet.DcBetValue) { if (String.IsNullOrEmpty(clsBet.StrBetColor)) { if (Enumerable.Range(0, 36).Contains(clsBet.InBetPosition)) { clsReponseGeneric = await AddBet(clsBet); } else { clsReponseGeneric.message = "invalid position"; } } else { clsBet.InBetPosition = -1; if (clsBet.StrBetColor.Contains("N") || clsBet.StrBetColor.Contains("R")) { clsReponseGeneric = await AddBet(clsBet); } else { clsReponseGeneric.message = "invalid color position (N/R)"; } } } else { clsReponseGeneric.message = "insufficient credit"; } } else { clsReponseGeneric.message = "The maximum value to bet is 10000,00"; } } else { clsReponseGeneric.message = "invalid player"; } return(clsReponseGeneric); }
private static ClsBet MapBet(DataRow DrFilaDatos) { ClsBet clsBet = new ClsBet(); clsBet.InIdRoulette = int.Parse(DrFilaDatos["InIdRoulette"].ToString()); clsBet.StrRouletteName = DrFilaDatos["VcRouletteName"].ToString(); clsBet.StrBetColor = DrFilaDatos["ChBetColor"].ToString(); clsBet.InBetPosition = int.Parse(DrFilaDatos["InBetPosition"].ToString()); clsBet.DcBetValue = decimal.Parse(DrFilaDatos["DcBetValue"].ToString()); clsBet.InCodPlayer = int.Parse(DrFilaDatos["InCodPlayer"].ToString()); clsBet.StrPlayerName = DrFilaDatos["VcPlayerName"].ToString(); return(clsBet); }
public async Task <ClsReponseGeneric> AddBet([FromBody] DtoAddBet dtoAddBet) { ClsBet clsBet = _mapper.Map <ClsBet>(dtoAddBet); return(await _rouletteRepository.ValidateBet(clsBet)); }