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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        /// <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);
        }