예제 #1
0
        /// <summary>
        /// Loads BonusRangeBO for a specific combination of Tips
        /// </summary>
        /// <param name="pNumTips">the number of tips in a combination</param>
        /// <returns>the appropriate BonusRangeBO</returns>
        public static BonusRangeSr CombiBetBonusRange(int pNumTips)
        {
            try
            {
                Station = StationSr.LoadStationByStationId(Station.StationID);
                //if (pOddVal <= stationSr.BonusFromOdd)
                //    return null;


                BonusRangeSr[] brs = Station.BonusRangeList.ToArray();

                BonusRangeSr brMax = new BonusRangeSr();
                brMax.Bonus   = 0;
                brMax.TipSize = Station.MinCombination;

                //Bonus ab (numTips>TipSize)
                for (int i = 0; i < brs.Length; i++)
                {
                    if (brs[i].TipSize <= pNumTips && brs[i].TipSize > brMax.TipSize)
                    {
                        brMax = brs[i];
                        if (brs[i].TipSize == pNumTips)
                        {
                            break;
                        }
                    }
                }
                return(brMax);
            }
            catch (Exception e)
            {
                //_logger.Error("Super Bonus not set in Table BonusRange!", e);
                return(null);
            }
        }
예제 #2
0
        public static decimal ManipulationFeeLivebetPercentage(int pNumTips)
        {
            try
            {
                Station = StationSr.LoadStationByStationId(Station.StationID);

                CombiLimitSr[] cls = Station.CombiLimitList.ToArray();

                CombiLimitSr clMax = new CombiLimitSr();
                clMax.CombiSize = 0;

                //Bonus ab (numTips>TipSize)
                for (int i = 0; i < cls.Length; i++)
                {
                    if (cls[i].CombiSize <= pNumTips && cls[i].CombiSize > clMax.CombiSize)
                    {
                        clMax = cls[i];
                        if (cls[i].CombiSize == pNumTips)
                        {
                            break;
                        }
                    }
                }

                return(clMax.ManipulationFee_LiveBet);
            }
            catch (Exception e)
            {
                //_logger.Error("Super Bonus not set in Table BonusRange!", e);
                return(0);
            }
        }
예제 #3
0
        /// <summary>
        /// checks if maxWin of a CombiBet is allowed
        /// </summary>
        /// <param name="odd">the total odd value of the bet</param>
        /// <param name="betStake">the stake of the bet</param>
        /// <param name="numTips">number of tips in combination</param>
        /// <returns>true if ok</returns>
        public static bool CombiBetWinAllowed(decimal odd, decimal betStake, int numTips)
        {
            Station = StationSr.LoadStationByStationId(Station.StationID);

            try
            {
                decimal netProfit = (odd - 1) * betStake;
                return(netProfit <= CombiMaxStake(odd, numTips) * odd);
            }
            catch (Exception e)
            {
                //_logger.Error("Combi Limits not set in Table CombiLimit!", e);
                //if (!alreadyWarnedCombiLimits)
                //{
                //    NbtLogSr.WriteNbtLogEntry(LogMessages.LimitHandling1, NBTLogBO.PRIORITY_LOW, StationSettings.GetSettings.StationNumber, NBTLogBO.MSG_LIMITS);
                //    alreadyWarnedCombiLimits = true;
                //}
                return(false);
            }
        }