public SpinData SP_SlotsKingPoker_Spin(InputSpin valueSpin) { try { var db = new DBHelper(ConnectionString.GameConnectionString); var oCommand = new SqlCommand(valueSpin.BetType == 1 ? "SP_Spins_CreateTransaction" : "SP_Spins_CreateTransaction_Coin") { CommandType = CommandType.StoredProcedure }; oCommand.Parameters.AddWithValue("@_AccountID", valueSpin.AccountId); oCommand.Parameters.AddWithValue("@_UserName", valueSpin.UserName); oCommand.Parameters.AddWithValue("@_RoomID", valueSpin.RoomId); oCommand.Parameters.AddWithValue("@_LinesData", valueSpin.LinesData); oCommand.Parameters.AddWithValue("@_ClientIP", valueSpin.ClientIp); var outSpinId = new SqlParameter("@_SpinID", SqlDbType.BigInt) { Direction = ParameterDirection.Output }; oCommand.Parameters.Add(outSpinId); var outSlotsData = new SqlParameter("@_SlotsData", SqlDbType.NVarChar, 50) { Direction = ParameterDirection.Output }; oCommand.Parameters.Add(outSlotsData); var outPrizesData = new SqlParameter("@_PrizesData", SqlDbType.NVarChar, 500) { Direction = ParameterDirection.Output }; oCommand.Parameters.Add(outPrizesData); var outTotalBetValue = new SqlParameter("@_TotalBetValue", SqlDbType.Int) { Direction = ParameterDirection.Output }; oCommand.Parameters.Add(outTotalBetValue); var outTotalPrizeValue = new SqlParameter("@_TotalPrizeValue", SqlDbType.BigInt) { Direction = ParameterDirection.Output }; oCommand.Parameters.Add(outTotalPrizeValue); var outIsJackpot = new SqlParameter("@_IsJackpot", SqlDbType.Bit) { Direction = ParameterDirection.Output }; oCommand.Parameters.Add(outIsJackpot); var outJackpot = new SqlParameter("@_Jackpot", SqlDbType.BigInt) { Direction = ParameterDirection.Output }; oCommand.Parameters.Add(outJackpot); var outBalance = new SqlParameter("@_Balance", SqlDbType.BigInt) { Direction = ParameterDirection.Output }; oCommand.Parameters.Add(outBalance); var outResponseStatus = new SqlParameter("@_ResponseStatus", SqlDbType.Int) { Direction = ParameterDirection.Output }; oCommand.Parameters.Add(outResponseStatus); var outLuckyData = new SqlParameter("@_LuckyData", SqlDbType.NVarChar) { Direction = ParameterDirection.Output, Size = 500 }; oCommand.Parameters.Add(outLuckyData); var outTotalJP = new SqlParameter("@_TotalJackpot", SqlDbType.Int) { Direction = ParameterDirection.Output }; oCommand.Parameters.Add(outTotalJP); db.ExecuteNonQuery(oCommand); var spinData = new SpinData(); spinData.SpinId = (long)outSpinId.Value; spinData.SlotData = outSlotsData.Value.ToString(); spinData.PrizesData = outPrizesData.Value.ToString(); spinData.TotalBetValue = (int)outTotalBetValue.Value; spinData.TotalPrizeValue = (long)outTotalPrizeValue.Value; spinData.Jackpot = (long)outJackpot.Value; spinData.Balance = (long)outBalance.Value; spinData.IsJackpot = (bool) outIsJackpot.Value; spinData.ResponseStatus = (int)outResponseStatus.Value; spinData.LuckyData = (string)outLuckyData.Value; spinData.TotalJackPot = (int)outTotalJP.Value; return spinData; } catch (Exception ex) { NLogManager.PublishException(ex); return new SpinData() { ResponseStatus = -10000 }; } }
public int VuaBai_Spins(int id, int betType, string linesData) { if (betType != 1 & betType != 2) { // Loại tiền không đúng return(-2); } //var roomLst = Room.RoomList.Where(x => x.BetType == betType).ToList(); //if (id <= 0 && id > roomLst.Count) //{ // return -1; //} //var currentRoom = roomLst.ElementAt(id - 1); if (!CheckLinesInput(linesData)) { return(-3); } var inputSpin = new InputSpin(); inputSpin.ServiceId = _serviceId; inputSpin.AccessToken = string.Empty; inputSpin.AccountId = AccountSession.AccountID; inputSpin.UserName = AccountSession.AccountName; inputSpin.BetType = betType; inputSpin.RoomId = id; inputSpin.LinesData = linesData; inputSpin.ClientIp = Utils.GetIp(); inputSpin.SourceId = _sourceId; inputSpin.MerchantId = _merchantId; var objReturn = new SpinsInfo(); try { long accountId = AccountSession.AccountID; string accountName = AccountSession.AccountName; if (accountId > 0) { var blockBet = false; int countInvalidSpin = CachingHandler.CheckAccountAction(accountName, "InvalidSpin"); if (countInvalidSpin > 4) { if (countInvalidSpin == 5) { NLogManager.LogMessage(string.Format("Blocked_InvalidSpin => accId: {0} | accName: {1} | ip: {2}", inputSpin.AccountId, inputSpin.UserName, inputSpin.ClientIp)); } CachingHandler.AddAccountAction(accountName, "InvalidSpin", 120); blockBet = true; } int countNumOfPlays = CachingHandler.CheckAccountAction(accountName, "UserSpin"); if (countNumOfPlays > 0) { if (countNumOfPlays == 1) { NLogManager.LogMessage(string.Format("Blocked_FastSpin => accId: {0} | accName: {1} | ip: {2}", inputSpin.AccountId, inputSpin.UserName, inputSpin.ClientIp)); } blockBet = true; } if (!blockBet) { var spinData = AbstractDaoFactory.Instance().CreateEventDao() .SP_SlotsKingPoker_Spin(inputSpin); objReturn._SpinID = spinData.SpinId; objReturn._SlotsData = spinData.SlotData; objReturn._PrizesData = spinData.PrizesData; objReturn._TotalBetValue = spinData.TotalBetValue; objReturn._TotalPrizeValue = spinData.TotalPrizeValue; objReturn._IsJackpot = spinData.IsJackpot; objReturn._Jackpot = spinData.Jackpot; objReturn._Balance = spinData.Balance; objReturn._ResponseStatus = spinData.ResponseStatus; objReturn.LuckyData = spinData.LuckyData; objReturn.TotalJackPot = spinData.TotalJackPot; NLogManager.LogMessage(string.Format("Spin => accId: {0} | accname: {1} | ip: {2} | SpinId: {7} | Balance: {8}| response: {3} | TotalPrize: {4}|PrizeValue: {5} | lineBet: {6}|TotalSo10:{9}|IsX2:{10}", inputSpin.AccountId, inputSpin.UserName, inputSpin.ClientIp, spinData.ResponseStatus, spinData.TotalPrizeValue, spinData.PrizesData, linesData, spinData.SpinId, spinData.Balance, spinData.LuckyData, spinData.TotalJackPot)); Clients.Caller.ResultSpin(objReturn); if (spinData.ResponseStatus < 0) { CachingHandler.AddAccountAction(accountName, "InvalidSpin", 1); return(spinData.ResponseStatus); } else { CachingHandler.AddAccountAction(accountName, "UserSpin", 1); } ConnectionHandler.Instance.UpdateJackpot(id, betType, spinData.Jackpot); //Clients.Group("room" + (roomId + 4 * (betType - 1))).UpdateJackPot(spinData.Jackpot); } else { objReturn._ResponseStatus = -10002; return(-10002); } } else { objReturn._ResponseStatus = -999;//Chua dang nhap return(-999); } return(1); } catch (Exception ex) { NLogManager.PublishException(ex); return(-10000); //Loi he thong web } }