Ejemplo n.º 1
0
        public void Clear()
        {
            SetSessionID(0);
            AutoSpin = false;
            BetValue = 0;

            SpinData = new SlotMachineSpinData();
        }
Ejemplo n.º 2
0
        public override void PlayNow(GamePlayer player)
        {
            var accountId = AccountSession.AccountID;
            var username  = AccountSession.AccountName;

            var        spinData        = new SlotMachineSpinData();
            const int  betValue        = 0;
            const long currentJackPort = 0;
            const int  gameStatus      = (int)Enums.GameStatus.SPIN;

            //  var _info = _SlotMachineDAO.GetAccountInfo(player.BetType, (int)accountId, username, player.RoomId);

            player.BetValue        = betValue;
            player.GameStatus      = gameStatus;
            player.CurrentJackPort = currentJackPort;

            var accountInfo = new Account
            {
                AccountID = accountId,
                UserName  = username,
                TotalStar = 0
            };

            player.Account   = accountInfo;
            player.AccountID = accountId;
            switch (player.RoomId)
            {
            case 1:
                player.BetValue = 100;
                break;

            case 2:
                player.BetValue = 1000;
                break;

            case 3:
                player.BetValue = 10000;
                break;
            }
            player.SpinData = spinData;
            player.Balance  = 0;
            long jackpot = 0;

            player.SpinData.Jackpot = jackpot;
            ReturnJoinGame(player);
        }
Ejemplo n.º 3
0
        public override SlotMachineSpinData PlaySpin(int roomId, MoneyType moneyType)
        {
            var _ClientIP   = IPAddressHelper.GetClientIP();
            var accountId   = AccountSession.AccountID;
            var accountName = AccountSession.AccountName;
            //var sourceId = AccountSession.SourceID;

            SlotMachineSpinData spinData = new SlotMachineSpinData()
            {
                ResponseStatus = -99
            };

            //int sourceGameId = Config.GetIntegerAppSettings("SourceGameId", 1);
            //if (sourceId == 3)
            //{
            //    sourceGameId = Config.GetIntegerAppSettings("SourceGameId_IOS", 1);
            //}
            //if (sourceId == 4)
            //{
            //    sourceGameId = Config.GetIntegerAppSettings("SourceGameId_ANDROID", 1);
            //}
            spinData = _SlotMachineDAO.Spin(moneyType, 1, 1, "",
                                            (int)accountId, accountName, "", roomId, _ClientIP);


            if (spinData.ResponseStatus < 0)
            {
                CacheCounter.CheckAccountActionFrequency(accountId.ToString(), 15, "SpinAm");
                var totalSecondFail = int.Parse(ConfigurationManager.AppSettings["TimmerFailRq"]);
                AddStatusFrequency(totalSecondFail, "SpinLoi");
                return(spinData);
            }
            UpdateCacheJackpot(roomId, spinData.Jackpot, moneyType);

            return(spinData);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Quay
        /// </summary>
        /// <param name="gameId"></param>
        /// <param name="accessToken"></param>
        /// <param name="accountId"></param>
        /// <param name="username"></param>
        /// <param name="linesData"></param>
        /// <param name="roomId"></param>
        /// <param name="sourceId"></param>
        /// <param name="clientIp"></param>
        /// <returns></returns>
        public SlotMachineSpinData Spin(MoneyType betType, int gameId, int sourceId, string accessToken, int accountId, string username, string linesData, int roomId,
                                        string clientIp)
        {
            try
            {
                var merchantId = 0;
                var db         = new DBHelper(ConnectionString.GameConnectionString);

                var pars = new SqlParameter[19];
                pars[0] = new SqlParameter("@_GameID", gameId);
                pars[1] = new SqlParameter("@_AccountID", accountId);
                pars[2] = new SqlParameter("@_Username", username);
                pars[3] = new SqlParameter("@_RoomID", roomId);
                pars[4] = new SqlParameter("@_SourceID", sourceId);
                pars[5] = new SqlParameter("@_MerchantID", merchantId);
                pars[6] = new SqlParameter("@_ClientIP", clientIp);

                pars[7] = new SqlParameter("@_SpinID", SqlDbType.BigInt)
                {
                    Direction = ParameterDirection.Output
                };
                pars[8] = new SqlParameter("@_SlotData", SqlDbType.VarChar, 100)
                {
                    Direction = ParameterDirection.Output
                };
                pars[9] = new SqlParameter("@_PrizeData", SqlDbType.VarChar, 500)
                {
                    Direction = ParameterDirection.Output
                };
                pars[10] = new SqlParameter("@_IsJackpot", SqlDbType.Bit)
                {
                    Direction = ParameterDirection.Output
                };
                pars[11] = new SqlParameter("@_Jackpot", SqlDbType.BigInt)
                {
                    Direction = ParameterDirection.Output
                };

                pars[12] = new SqlParameter("@_PositionData", SqlDbType.VarChar, 500)
                {
                    Direction = ParameterDirection.Output
                };

                pars[13] = new SqlParameter("@_TotalBetValue", SqlDbType.Int)
                {
                    Direction = ParameterDirection.Output
                };
                pars[14] = new SqlParameter("@_TotalPrizeValue", SqlDbType.BigInt)
                {
                    Direction = ParameterDirection.Output
                };
                pars[15] = new SqlParameter("@_PaylinePrizeValue", SqlDbType.BigInt)
                {
                    Direction = ParameterDirection.Output
                };                                                                                                             //Tong so tien thang
                pars[16] = new SqlParameter("@_PrizeFund", SqlDbType.BigInt)
                {
                    Direction = ParameterDirection.Output
                };                                                                                                     //Quỹ
                pars[17] = new SqlParameter("@_Balance", SqlDbType.BigInt)
                {
                    Direction = ParameterDirection.Output
                };                                                                                                   //số dư
                pars[18] = new SqlParameter("@_ResponseStatus", SqlDbType.BigInt)
                {
                    Direction = ParameterDirection.Output
                };


                var    watch  = System.Diagnostics.Stopwatch.StartNew();
                string spName = betType == MoneyType.Gold ? "SP_Spins_CreateTransaction" : "SP_Spins_CreateTransaction_Coin";
                db.ExecuteNonQuerySP(spName, pars);
                watch.Stop();
                var elapsedMs = watch.ElapsedMilliseconds;
                var data      = new SlotMachineSpinData
                {
                    AccountID      = accountId,
                    Balance        = Convert.ToInt64(pars[17].Value),
                    IsJackpot      = Convert.ToBoolean(pars[10].Value),
                    Jackpot        = Convert.ToInt64(pars[11].Value),
                    ResponseStatus = Convert.ToInt32(pars[18].Value),

                    PrizeFund         = Convert.ToInt64(pars[16].Value),
                    SpinID            = Convert.ToInt64(pars[7].Value),
                    TotalBetValue     = Convert.ToInt32(pars[13].Value),
                    TotalPrizeValue   = Convert.ToInt64(pars[14].Value),
                    PaylinePrizeValue = Convert.ToInt64(pars[15].Value),
                    SlotsData         = pars[8].Value.ToString(),
                    PositionData      = pars[12].Value.ToString()
                };

                NLogManager.LogMessage(
                    $"Spins=> BetType: {betType}| Time:{elapsedMs}|Acc:{data.AccountID}|User:{username}|GameId:{gameId}|SourceId:{sourceId}|RoomId:{roomId}|SpinID:{data.SpinID}|Response:{data.ResponseStatus}|TotalPrize:{data.TotalPrizeValue}|IsJackpot:{data.IsJackpot}|Ip:{clientIp}");
                return(data);
            }
            catch (Exception ex)
            {
                NLogManager.PublishException(ex);
            }

            return(new SlotMachineSpinData
            {
                AccountID = accountId,
                ResponseStatus = -1001
            });
        }