public void Clear() { SetSessionID(0); AutoSpin = false; BetValue = 0; SpinData = new SlotMachineSpinData(); }
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); }
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); }
/// <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 }); }