public IActionResult Bet(BetRoulette model) { _log.LogInformation("Validating Model..."); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { string msg = ""; model.IdClient = Convert.ToInt32(Request.Headers["IdClient"]); if (model.validate()) { _log.LogInformation("Model is Ok..."); _db.CreateBet(model); msg = "Se ha creado la apuesta correctamente"; } else { msg = "Se tiene que hacer una apuesta válida"; _log.LogInformation("Model is Invalid..."); } _log.LogInformation("The bet has been created successfully !"); return(Ok(msg)); } catch (Exception ex) { _log.LogWarning("Error: " + ex.Message); return(BadRequest(ex.Message)); } }
public async Task <bool> BetRoulette(BetRoulette betRoulette) { try { using IDbConnection connection = new SqlConnection(SqlHelper.ConnectionString); if (connection.State == ConnectionState.Closed) { connection.Open(); } var result = await connection.ExecuteScalarAsync <string>("sp_RouletteBet", param : SetParameters(betRoulette), commandType : CommandType.StoredProcedure); if (result.Equals("OK", StringComparison.OrdinalIgnoreCase)) { return(true); } return(false); } catch (Exception ex) { Console.WriteLine(ex.Message); return(false); } }
public void CreateBet(BetRoulette bet) { using (SqlConnection connection = new SqlConnection(connectionString)) { string query = "insert into Bets(Number,Color,Amount,IdClient,IdRoulette,DateCreate)" + "values(@Number,@Color,@Amount,@IdClient,@IdRoulette,@DateCreate)" + "select SCOPE_IDENTITY()"; SqlCommand command = new SqlCommand(query, connection); command.Parameters.AddWithValue("@Number", (object)bet.Number ?? DBNull.Value); command.Parameters.AddWithValue("@Color", (object)bet.Color ?? DBNull.Value); command.Parameters.AddWithValue("@Amount", bet.Amount); command.Parameters.AddWithValue("@IdClient", bet.IdClient); command.Parameters.AddWithValue("@IdRoulette", bet.IdRoulette); command.Parameters.AddWithValue("@DateCreate", DateTime.UtcNow); try { connection.Open(); command.ExecuteNonQuery(); connection.Close(); } catch (Exception ex) { throw new Exception("Ha ocurrido un error en la BD: " + ex.Message); } } }
/// <summary> /// Validate amount of dollars /// </summary> /// <param name="betRoulette">Bet</param> /// <returns>Result validation. True = Correct</returns> private bool ValidateDollars(BetRoulette betRoulette) { if (betRoulette.Dollars > 0 && betRoulette.Dollars <= 10000) { return(true); } return(false); }
/// <summary> /// Validate value number /// </summary> /// <param name="betRoulette">Bet</param> /// <returns>Result validation. True = Correct</returns> private bool ValidateNumber(BetRoulette betRoulette) { if (betRoulette.Number != null && betRoulette.Number >= 0 && betRoulette.Number <= 36) { return(true); } return(false); }
public async Task <Roulette> ConfigureRoulette(BetModel model, User user) { Roulette roulette = await _rouletteRepository.GetRouletteById(model.RouletteId); RouletteHelper.CheckBetRoulette(roulette, model.RouletteId); BetRoulette bet = new BetRoulette(model, user); roulette.AddBet(bet); return(roulette); }
/// <summary> /// Validate value color /// </summary> /// <param name="betRoulette">Bet</param> /// <returns>Result validation. True = Correct</returns> private bool ValidateColor(BetRoulette betRoulette) { if (betRoulette.Color != null && (betRoulette.Color.Equals("ROJO", StringComparison.OrdinalIgnoreCase) || betRoulette.Color.Equals("NEGRO", StringComparison.OrdinalIgnoreCase))) { return(true); } return(false); }
private DynamicParameters SetParameters(BetRoulette betRoulette) { DynamicParameters parameters = new DynamicParameters(); parameters.Add("@IdRoulette", betRoulette.IdRoulette); parameters.Add("@Dollars", betRoulette.Dollars); parameters.Add("@Number", betRoulette.Number); parameters.Add("@Color", betRoulette.Color); return(parameters); }
private BetRoulette SetBet(BetDTO betRoulette) { BetRoulette resultRoulette = new BetRoulette(); resultRoulette.BetMoney = betRoulette.BetMoney; resultRoulette.UserId = betRoulette.UserId; resultRoulette.BetFor = betRoulette.BetFor; resultRoulette.IsGame = true; resultRoulette.StartRouletteId = (int)UserGameInformation.StartRouletteId; return(resultRoulette); }
public BetRoulette UpdateBetRoulette(BetRoulette betRoulette) { if (betRoulette != null) { contextBetRoulette.ReplaceOne(r => r.Id == betRoulette.Id, betRoulette); return(betRoulette); } else { return(betRoulette); } }
public IActionResult BetRoulette([FromHeader(Name = "userId")] string userId, [FromHeader(Name = "userName")] string userName, [FromRoute(Name = "idRoulette")] string idRoulette, [FromBody] BetRequest request) { try { Roulette roulette = this.rouletteServices.GetRoulette(idRoulette); BetRoulette betRoulette = this.betRouletteServices.BetRoulette(roulette, userId, userName, request.position, request.money); return(Ok(betRoulette)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <IActionResult> Bet(BetRoulette betRoulette) { try { var resultBet = await _rouletteManager.BetInRoulette(betRoulette); if (!resultBet.Succesfull) { return(StatusCode(403, resultBet)); } return(StatusCode(201, resultBet)); } catch (Exception ex) { return(StatusCode(500, ex)); } }
/// <summary> /// Bet in the roulette /// </summary> /// <param name="betRoulette">Bet</param> /// <returns></returns> public async Task <ResultBet> BetInRoulette(BetRoulette betRoulette) { if (ValidateNumber(betRoulette) || ValidateColor(betRoulette) && ValidateDollars(betRoulette)) { var resultBetBd = await _rouletteService.BetRoulette(betRoulette); if (resultBetBd) { return(new ResultBet { Succesfull = true, Message = MessageResource.OkBet }); } } return(new ResultBet { Succesfull = false, Message = MessageResource.ErrorDataBet }); }
public List <BetRoulette> ListBets(int id) { using (SqlConnection connection = new SqlConnection(connectionString)) { string query = "select * from Bets where IdRoulette=@id"; SqlCommand command = new SqlCommand(query, connection); command.Parameters.AddWithValue("@id", id); List <BetRoulette> Bets = new List <BetRoulette>(); try { connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { var Bet = new BetRoulette(); Bet.IdBet = reader.GetInt32(0); if (!reader.IsDBNull(1)) { Bet.Number = reader.GetInt32(1); } if (!reader.IsDBNull(2)) { Bet.Color = reader.GetString(2); } Bet.Amount = reader.GetDouble(3); Bet.IdClient = reader.GetInt32(4); Bet.DateCreate = reader.GetDateTime(5); Bet.IdRoulette = id; Bets.Add(Bet); } reader.Close(); connection.Close(); return(Bets); } catch (Exception ex) { throw new Exception("Ha ocurrido un error en la BD: " + ex.Message); } } }
public async Task <int> CreateBetAsync(BetRoulette betRoulette) { int idNewRoulette = 0; using (SqlConnection connection = new SqlConnection(BaseContext.GetParameterConnection())) { var sql = string.Format(Querys.QueryCreateBet, betRoulette.UserId, betRoulette.BetMoney, betRoulette.BetFor, betRoulette.IsGame, DateTime.UtcNow.ToString(Constant.FormatDate), betRoulette.StartRouletteId); using (SqlCommand command = new SqlCommand(sql, connection)) { command.CommandType = CommandType.Text; await connection.OpenAsync(); idNewRoulette = (Int32)await command.ExecuteScalarAsync(); await connection.CloseAsync(); } return(idNewRoulette); } }
public BetRoulette CreateBetRoulette(BetRoulette betRoulette) { contextBetRoulette.InsertOne(betRoulette); return(betRoulette); }
public BetRouletteServices(IDbClient dbClient) { betRoulette = new BetRoulette(); contextBetRoulette = dbClient.GetBetRouletteCollection(); }
public BetRoulette ClosingRoulette(BetRoulette betRoulette) { contextBetRoulette.InsertOne(betRoulette); return(betRoulette); }