private IBet MakeBetObject(IBetDTO dto) { var info = dto.GetBetSpecificInfo(); IBet output = null; if (info.TryGetValue("Color", out object temp)) { if (temp != null) { int color = (int)temp; output = new ColorBet((IPocketColor)color) { Id = dto.Id, Stake = dto.Stake, }; } } else if (info.TryGetValue("FirstNumber", out object temp3) && info.TryGetValue("SecondNumber", out object temp4)) { if (temp3 != null && temp4 != null) { int firstNumber = (int)temp3; int secondNumber = (int)temp4; output = new NeighbourBet((IPocketNumber)firstNumber, (IPocketNumber)secondNumber) { Id = dto.Id, Stake = dto.Stake, }; } } else if (info.TryGetValue("Number", out object temp5)) { if (temp5 != null) { int number = (int)temp; output = new SingleNumberBet((IPocketNumber)number) { Id = dto.Id, Stake = dto.Stake, }; } } else if (info.TryGetValue("IsEven", out object temp2)) { if (temp2 != null) { bool isEven = (bool)temp; output = new EvenUnevenBet(isEven) { Id = dto.Id, Stake = dto.Stake, }; } } return(output); }
/// <summary> /// Constructs a dto object of the specified bet /// Checks which bet type it is and maps this to dto object. /// </summary> /// <param name="bet"></param> /// <returns></returns> private IBetDTO MakeBetDTO(IBet bet) { var info = bet.GetBetSpecificInfo(); IBetDTO output = null; if (bet.Type == BetType.Color) { if (info.TryGetValue("Color", out object temp)) { int color = (int)temp; output = new ColorBet((IPocketColor)color) { Id = bet.Id, Stake = bet.Stake, }; } } else if (bet.Type == BetType.EvenUneven) { if (info.TryGetValue("IsEven", out object temp)) { bool isEven = (bool)temp; output = new EvenUnevenBet(isEven) { Id = bet.Id, Stake = bet.Stake, }; } } else if (bet.Type == BetType.Neighbour) { if (info.TryGetValue("FirstNumber", out object temp) && info.TryGetValue("SecondNumber", out object temp2)) { int firstNumber = (int)temp; int secondNumber = (int)temp2; output = new NeighbourBet((IPocketNumber)firstNumber, (IPocketNumber)secondNumber) { Id = bet.Id, Stake = bet.Stake, }; } } else if (bet.Type == BetType.Single) { if (info.TryGetValue("Number", out object temp)) { int number = (int)temp; output = new SingleNumberBet((IPocketNumber)number) { Id = bet.Id, Stake = bet.Stake, }; } } return(output); }
private IBet MakeBetObject(IBetDTO bet) { var info = bet.GetBetSpecificInfo(); IBet output = null; if (info.TryGetValue("Color", out object tempcolor)) { int color = (int)tempcolor; output = new ColorBet((IPocketColor)color) { Id = bet.Id, Stake = bet.Stake, }; } else if (info.TryGetValue("IsEven", out object tempEven)) { bool isEven = (bool)tempEven; output = new EvenUnevenBet(isEven) { Id = bet.Id, Stake = bet.Stake, }; } else if (info.TryGetValue("FirstNumber", out object first) && info.TryGetValue("SecondNumber", out object second)) { int firstNumber = (int)first; int secondNumber = (int)second; output = new NeighbourBet((IPocketNumber)firstNumber, (IPocketNumber)secondNumber) { Id = bet.Id, Stake = bet.Stake, }; } else if (info.TryGetValue("Number", out object tempNumber)) { int number = (int)tempNumber; output = new SingleNumberBet((IPocketNumber)number) { Id = bet.Id, Stake = bet.Stake, }; } return(output); }
public bool Save(IBetDTO dto) { var values = dto.GetBetSpecificInfo(); List <string> propNames = new List <string>(); List <object> propValues = new List <object>(); foreach (var v in values) { if (v.Key != "Type") { propNames.Add(v.Key); propValues.Add(v.Value); } } string sql = SQLStringBuilder(propNames); try { using (MySqlConnection conn = new MySqlConnection(_connection)) { conn.Open(); using (MySqlCommand cmd = new MySqlCommand(sql, conn)) { for (int i = 0; i < propNames.Count; i++) { string propName = propNames[i]; var parameter = cmd.CreateParameter(); parameter.ParameterName = "@" + propName; parameter.Value = propValues[i]; cmd.Parameters.Add(parameter); } if (cmd.ExecuteNonQuery() > 0) { return(true); } return(false); } } } catch (MySqlException ex) { throw new Exception(ex.Message, ex); } }
public bool Save(IBetDTO dto) { //string sql = "INSERT INTO bet (Stake,Odd,Color,Number,Even,FirstNumber,SecondNumber) VALUES(@Stake,@Odd,@Color,@Number,@Even,@FirstNumber,@SecondNumber)"; var values = dto.GetInfo(); List <string> propNames = new List <string>(); List <object> propValues = new List <object>(); foreach (var v in values) { propNames.Add(v.Key); propValues.Add(v.Value); } string sql = SQLStringBuilder(propNames); try { using (MySqlConnection conn = new MySqlConnection(ConnectionHelper.CnnVal("DemoDB"))) { conn.Open(); using (MySqlCommand cmd = new MySqlCommand(sql, conn)) { for (int i = 0; i < propNames.Count; i++) { string propName = propNames[i]; var parameter = cmd.CreateParameter(); parameter.ParameterName = "@" + propName; parameter.Value = propValues[i]; cmd.Parameters.Add(parameter); } if (cmd.ExecuteNonQuery() > 0) { return(true); } return(false); } } } catch (MySqlException ex) { throw new Exception(ex.Message, ex); } }
public bool Save(IBetDTO dto) { // Add bet. return(true); }
public bool Save(IBetDTO dto) { return(true); }
// Not going to retriev bet type. This won't be used in the application. // FOR GETTING BET INFO public bool Save(IBetDTO dto) { bets.Add(MakeBetObject(dto)); return(true); }