private bool ValidateBetParameters(Entities.Bets bet) { if (!RouletteIsOpen(bet.RouletteId)) { throw new Exception("La ruleta esta cerrada"); } if (!BetMoneyMax(bet)) { throw new Exception("Dinero supera el maximo permitido"); } if (!BetNumberOk(bet.Number)) { throw new Exception("El numero debe esta entre 0 y 36"); } return(true); }
public ActionResult <string> LoadBet([FromBody] Entities.Bets bet, [FromHeader] int userId) { try { if (ValidateBetParameters(bet)) { bet.UserId = userId; bets.LoadBet(bet); return("Apuesta almacenada"); } return("La apuesta no se completo"); } catch (Exception ex) { return(BadRequest(ex.Message.Contains("inner") ? ex.InnerException.Message : ex.Message)); } }
public bool LoadBet(Entities.Bets bet) { using (SqlConnection connection = new SqlConnection(configuration.GetConnectionString("ConnectionString"))) { try { connection.Open(); var query = $"INSERT INTO [BetPlay].[dbo].[Bets](DateBet,RouletteId,UserId,BetNumber,Number,Color,[Money]) " + $"VALUES('{DateTime.UtcNow:O}',{bet.RouletteId},{bet.UserId},'{bet.BetNumber}',{bet.Number},{bet.Color},{bet.Money})"; SqlCommand command = new SqlCommand(query, connection); command.ExecuteNonQuery(); connection.Close(); return(true); } catch (Exception ex) { throw ex; } } }
private bool BetMoneyMax(Entities.Bets bet) { return((bet.Money + bets.MoneyByRoulette(bet.RouletteId)) <= 10000); }