public override int TotalBetCount(BasicModel.LotteryBasic.BetDetail item)
        {
            int betCount = item.BetContent.Split(',').Count();

            return(betCount);
        }
 public override int TotalBetCount(BasicModel.LotteryBasic.BetDetail item)
 {
     return(item.BetContent.Replace(",", "").Length);
 }
        private int TotalBet(BasicModel.LotteryBasic.BetDetail item, string openResult, ref int zuliu, ref int zusan)
        {
            var sum   = 0;
            var res   = new List <string>();
            var first = new List <string>();

            if (!string.IsNullOrEmpty(openResult))
            {
                res   = openResult.Split(',').ToList();
                first = res.Take(3).ToList();
                sum   = first.Sum(m => Convert.ToInt32(m));
            }
            List <int>    hezhi = item.BetContent.Split(',').Select(m => Convert.ToInt32(m.ToString())).ToList();
            List <string> list  = new List <string>();

            if (hezhi.Count > 0)
            {
                for (int i = 0; i < 1000; i++)
                {
                    string v     = i.ToString("d3");
                    var    vsum  = v.Sum(p => Convert.ToInt16(p.ToString()));
                    var    count = v.Distinct().Count();
                    if (count > 1)
                    {
                        if (hezhi.Any(m => v.Sum(n => Convert.ToInt16(n.ToString())) == m) && !list.Any(n => string.Join("", n.OrderBy(s => s)) == string.Join("", v.OrderBy(s => s))))
                        {
                            if (string.IsNullOrEmpty(openResult))
                            {
                                list.Add(v);
                            }
                            else if (sum == vsum)
                            {
                                if (count == 2)
                                {
                                    zusan++;
                                }
                                else if (count == 3)
                                {
                                    zuliu++;
                                }
                                list.Add(v);
                            }
                        }
                    }
                }
            }

            zuliu = 0;
            zusan = 0;

            if (first.Distinct().Count() == 2)
            {
                zusan = 1;
            }
            else
            {
                zuliu = 1;
            }

            return(list.Count);
        }
 public override int TotalBetCount(BasicModel.LotteryBasic.BetDetail item)
 {
     return(item.BetContent.Split(',').Length);
 }
        public override int TotalBetCount(BasicModel.LotteryBasic.BetDetail item)
        {
            var array = item.BetContent.Split(',');

            return(array[1].Length);
        }
        /// <summary>
        /// 计算注数
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public override int TotalBetCount(BasicModel.LotteryBasic.BetDetail item)
        {
            int zuliu = 0, zusan = 0;

            return(TotalBet(item, "", ref zuliu, ref zusan));
        }
 public override int TotalBetCount(BasicModel.LotteryBasic.BetDetail item)
 {
     return(item.BetContent.Split('-').Where(c => c != "").Count());
 }
예제 #8
0
        /// <summary>
        /// 获取奖金
        /// </summary>
        /// <param name="rcount"></param>
        /// <param name="item"></param>
        /// <returns></returns>
        protected virtual decimal GetBaseAmtLstItem(int bonusCount, BasicModel.LotteryBasic.BetDetail item)
        {
            decimal stepAmt = 0;

            return(GetBaseAmtLstItem(bonusCount, item, ref stepAmt));
        }
예제 #9
0
 protected abstract void IssueCalculate(string issueCode, string openResult, BasicModel.LotteryBasic.BetDetail item);
예제 #10
0
        protected override void IssueCalculate(string issueCode, string openResult, BasicModel.LotteryBasic.BetDetail item)
        {
            var heZhi = openResult.Split(',').Sum(c => Convert.ToInt32(c));

            var sumAmt  = 0m;
            var ctArray = item.BetContent.Split(',');

            foreach (var ct in ctArray)
            {
                int outHeZhi;
                if (!int.TryParse(ct, out outHeZhi) || outHeZhi != heZhi)
                {
                    continue;
                }
                var amt = 0m;
                switch (heZhi)
                {
                case 1:
                case 18:
                    amt = AMT_318;
                    break;

                case 4:
                case 17:
                    amt = AMT_417;
                    break;

                case 5:
                case 16:
                    amt = AMT_516;
                    break;

                case 6:
                case 15:
                    amt = AMT_615;
                    break;

                case 7:
                case 14:
                    amt = AMT_714;
                    break;

                case 9:
                case 12:
                    amt = AMT_912;
                    break;

                case 10:
                case 11:
                    amt = AMT_1011;
                    break;

                case 8:
                case 13:
                    amt = AMT_813;
                    break;
                }
                sumAmt += amt;
            }
            if (sumAmt > 0)
            {
                item.IsMatch  = true;
                item.WinMoney = BiaoZhunTotalWinMoney(item, sumAmt);
            }
        }
예제 #11
0
 /// <summary>
 /// 计算金额
 /// </summary>
 /// <param name="item"></param>
 /// <returns></returns>
 protected virtual decimal SumWinMoney(BasicModel.LotteryBasic.BetDetail item)
 {
     return(item.TotalAmt + item.TotalAmt * item.BackNum);
 }
예제 #12
0
 /// <summary>
 /// 根据 投注信息获取奖金
 /// </summary>
 /// <param name="item"></param>
 /// <returns></returns>
 protected virtual decimal GetBaseAmt(BasicModel.LotteryBasic.BetDetail item, ref decimal stepAmt)
 {
     return(GetBaseAmt(item.PalyRadioCode, item.PrizeType, item.BonusLevel, item.BackNum, ref stepAmt));
 }
예제 #13
0
 /// <summary>
 /// 根据 投注信息获取奖金
 /// </summary>
 /// <param name="item"></param>
 /// <returns></returns>
 public virtual decimal GetBaseAmt(BasicModel.LotteryBasic.BetDetail item)
 {
     return(GetBaseAmt(item.PalyRadioCode, item.PrizeType, item.BonusLevel, item.BackNum));
 }
 public override int TotalBetCount(BasicModel.LotteryBasic.BetDetail item)
 {
     return(CombinationHelper.Cmn(item.BetContent.Length, 2));
 }
 /// <summary>
 /// 计算投注数
 /// </summary>
 /// <param name="item"></param>
 /// <returns></returns>
 public override int TotalBetCount(BasicModel.LotteryBasic.BetDetail item)
 {
     return(item.BetContent.Split(',').Where(m => m.Distinct().Count() == 2).Count());
 }
예제 #16
0
 public override int TotalBetCount(BasicModel.LotteryBasic.BetDetail item)
 {
     return(1);
 }
예제 #17
0
        protected override void IssueCalculate(string issueCode, string openResult, BasicModel.LotteryBasic.BetDetail item)
        {
            //0单5双
            var _0d5s = this.GetBaseAmtLstItem(1, item);//* Ytg.Comm.Utils.MaxRemoLv

            _0d5s = _0d5s - _0d5s * 0.06m;
            //5单0双
            var _5d0s = this.GetBaseAmtLstItem(2, item);

            _5d0s = _5d0s - _5d0s * 0.06m;
            //1单4双
            var _1d4s = this.GetBaseAmtLstItem(3, item);

            _1d4s = _1d4s - _1d4s * 0.06m;
            //4单1双
            var _4d1s = this.GetBaseAmtLstItem(4, item);

            _4d1s = _4d1s - _4d1s * 0.06m;
            //2单3双
            var _2d3s = this.GetBaseAmtLstItem(5, item);

            _2d3s = _2d3s - _2d3s * 0.06m;
            ////3单2双
            var _3d2s = this.GetBaseAmtLstItem(6, item);

            _3d2s = _3d2s - _3d2s * 0.06m;
            // List<int> resultList = new List<int>();
            var resultArray = openResult.Split(',');

            var shuangCount = resultArray.Where(r => Convert.ToInt32(r) % 2 == 0).Count();
            var danCount    = resultArray.Length - shuangCount;

            var items = item.BetContent.Replace(mInStrArray[0], WuDanLinShuang.ToString()).Replace(mInStrArray[1], SiDanYiShuang.ToString())
                        .Replace(mInStrArray[2], SanDanErShuang.ToString()).Replace(mInStrArray[3], ErDanSanShuang.ToString()).Replace(mInStrArray[4], YiDanSiShuang.ToString())
                        .Replace(mInStrArray[5], LinDanWuShuang.ToString()).Split(',');
            var winMonery = 0m;

            foreach (string c in items)
            {
                switch (Convert.ToInt32(c))
                {
                case WuDanLinShuang:    //
                    if (danCount == 5 && shuangCount == 0)
                    {
                        winMonery += _5d0s;
                    }
                    break;

                case SiDanYiShuang:
                    if (danCount == 4 && shuangCount == 1)
                    {
                        winMonery += _4d1s;
                    }
                    break;

                case SanDanErShuang:
                    if (danCount == 3 && shuangCount == 2)
                    {
                        winMonery += _3d2s;
                    }
                    break;

                case ErDanSanShuang:
                    if (danCount == 2 && shuangCount == 3)
                    {
                        winMonery += _2d3s;
                    }
                    break;

                case YiDanSiShuang:
                    if (danCount == 1 && shuangCount == 4)
                    {
                        winMonery += _1d4s;
                    }
                    break;

                case LinDanWuShuang:
                    if (danCount == 0 && shuangCount == 5)
                    {
                        winMonery += _0d5s;
                    }
                    break;
                }
            }

            if (winMonery != 0)
            {
                item.IsMatch  = true;
                item.WinMoney = BiaoZhunTotalWinMoney(item, winMonery);
            }
        }