/// <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); } }
/// <summary> /// calculates BonusFactor based upon the number of tips /// </summary> /// <param name="numBonusTips">tips with odds > 1.3 which are allowed to get a super bonus</param> /// <returns>BonusValue (1,03 for 3%)</returns> public static decimal CombiBetSuperBonus(int numBonusTips) { BonusRangeSr br = CombiBetBonusRange(numBonusTips); return(br == null ? 1 : 1 + br.Bonus / 100); }