public async Task <bool> createAsync(betRouletteClient objbetRouletteClient) { bool isSuccesfull = false; try { betRoulette objbetRoulette = new betRoulette(); objbetRoulette.idRoulette = objbetRouletteClient.idRoulette; objbetRoulette.betRouletteNumber = objbetRouletteClient.betNumber; objbetRoulette.betRouletteColour = objbetRouletteClient.betColour; objbetRoulette.betRouletteValue = objbetRouletteClient.betValue; if (Request.Headers.TryGetValue("autenticated_User", out var headerValue)) { objbetRoulette.betUser = headerValue.FirstOrDefault(); int idRoulette = await _IBetRoulette._repository.BetRoulette.createAsync(objbetRoulette); if (idRoulette > 0) { isSuccesfull = true; } } else { throw new Exception("Nó se logró obtener el usuario para la transacción. POr favor intentelo nuevamente."); } } catch (Exception ex) { throw ex; } return(isSuccesfull); }
public bool ObjectValidate(betRoulette objbetRoulette) { bool isSuccesfull = true; try { bool betByColour = false; if (!string.IsNullOrEmpty(objbetRoulette.betRouletteColour)) { betByColour = true; } if (objbetRoulette.idRoulette <= 0) { throw new Exception("El identificador de la ruleta no es valido, por favor intente nuevamente."); } else if (objbetRoulette.betRouletteValue > 10000) { throw new Exception("El valor de la apuesta no puede ser mayor de 10.000, por favor intente nuevamente."); } else if (objbetRoulette.betRouletteValue <= 0) { throw new Exception("El valor de la apuesta debe ser mayor de 0, por favor intente nuevamente."); } else if (!betByColour && (objbetRoulette.betRouletteNumber < 0 || objbetRoulette.betRouletteNumber > 36)) { throw new Exception("El número apostado debe estar entre 0 a 36, por favor intente nuevamente."); } else if (betByColour && !objbetRoulette.betRouletteColour.ToUpper().Equals("ROJO".ToUpper()) && !objbetRoulette.betRouletteColour.ToUpper().Equals("NEGRO".ToUpper())) { throw new Exception(string.Format("El color {0} no es valido, por favor intente nuevamente.", objbetRoulette.betRouletteColour)); } if (!_dbAcces._repository.Roulette.ValidateExistance(objbetRoulette.idRoulette)) { throw new Exception("No se encontró una ruleta creada con el identificador asociado. Por favor valide e intente nuevamente."); } } catch (Exception ex) { throw ex; } return(isSuccesfull); }
/// <summary> /// procedure to enter a bet /// </summary> /// <param name="objbetRoulette">object with the bet information</param> /// <returns></returns> public async Task <int> createAsync(betRoulette objbetRoulette) { int idBetRoulette = 0; try { if (ObjectValidate(objbetRoulette)) { if (_dbAcces._repository.Roulette.ValidateRouletteStatus(objbetRoulette.idRoulette)) { if (!_dbAcces._repository.Roulette.ValidateExistance(objbetRoulette.idRoulette)) { throw new Exception("No se encontró una ruleta creada con el identificador asociado. Por favor valide e intente nuevamente."); } objbetRoulette.idOpeningClosingRoulette = _dbAcces._repository.Roulette.getOpenigHandle(objbetRoulette.idRoulette); Dictionary <string, object> lstParametros = new Dictionary <string, object>(); lstParametros.Add("@idOpeningClosingRoulette", objbetRoulette.idOpeningClosingRoulette); lstParametros.Add("@betRouletteValue", objbetRoulette.betRouletteValue); lstParametros.Add("@betUser", objbetRoulette.betUser); lstParametros.Add("@createType", 1); string _Result = string.Empty; _Result = await commandExecuteDBAsync("SP_BETROULETTE_CREATE", lstParametros, new SqlParameter() { ParameterName = "@Result", Value = _Result }); if (Convert.ToInt32(_Result) > 0) { idBetRoulette = Convert.ToInt32(_Result); if (!string.IsNullOrEmpty(objbetRoulette.betRouletteColour)) { betRouletteXColour objBetRouletteColour = new betRouletteXColour(); objBetRouletteColour.BetRouletteColourCode = getBetColorCode(objbetRoulette.betRouletteColour); objBetRouletteColour.idBetRoulette = idBetRoulette; int idBetRoulettexColour = await _dbAcces._repository.betRouletteXColour.createAsync(objBetRouletteColour); } else { betRouletteXNumber objBetRouletteNumber = new betRouletteXNumber(); objBetRouletteNumber.betRouletteNumber = objbetRoulette.betRouletteNumber; objBetRouletteNumber.idBetRoulette = idBetRoulette; int idBetRouletteXNumber = await _dbAcces._repository.betRouletteXNumber.createAsync(objBetRouletteNumber); } _dbAcces.SaveChange(); } else { throw new Exception("No se obtuvo un identificador válido para la apuesta."); } } else { throw new Exception("La ruleta se encuentra cerrada, no se puede realizar la apuesta. Por favor valide e intente nuevamente."); } } } catch (Exception ex) { _dbAcces.DiscardChange(); throw new Exception(string.Format("Se presentó un error {0} al intentar crear la apuesta. ", ex.Message)); } return(idBetRoulette); }