public SureBet(BetRecord betRecord, bool isShow)
 {
     InitializeComponent();
     srv = WcfProxy.GetProxy;
     timer.Interval = TimeSpan.FromSeconds(10);
     timer.Tick += new EventHandler(timer_Tick);
     this.Loaded += new RoutedEventHandler(SureBet_Loaded);
     srv.InsertBetRecordCompleted += new EventHandler<InsertBetRecordCompletedEventArgs>(srv_InsertBetRecordCompleted);
     srv.InsertBetRecordListCompleted += new EventHandler<InsertBetRecordListCompletedEventArgs>(srv_InsertBetRecordListCompleted);
     record = betRecord;
     this.isShow = isShow;
 }
        public ActionResult BetRecordDetail()
        {
            ViewBag.parentId = Request["parentId"];
            var       id        = int.Parse(Request["parentId"]);
            BetRecord betRecord = brService.LoadEntities(s => s.Id == id).FirstOrDefault();

            ViewBag.BetMoney     = betRecord.BetMoney;
            ViewBag.BetCount     = betRecord.BetCount;
            ViewBag.LotteryState = betRecord.LotteryState;
            LotteryResult lr = lrService.LoadEntities(s => s.LotteryType == betRecord.LotteryType && s.Expect == betRecord.Expect).FirstOrDefault();

            ViewBag.lotteryType = betRecord.LotteryType;
            ViewBag.expect      = betRecord.Expect;
            if (lr == null)
            {
                ViewBag.Opencode = "未开奖";
            }
            else
            {
                ViewBag.Opencode = lr.Opencode;
            }
            return(View());
        }
 void srv_GetCapitalInfoCompleted(object sender, GetCapitalInfoCompletedEventArgs e)
 {
     BetRecord record = new BetRecord();
     if (isShow)
         record.BetCount = BetCountCalc.GetBetCount
            (NumBasket, (PlayType)PlayType, numPanel.isWriten,
             ((PlayTypeRadio)Convert.ToInt32(rbPanel.GetChoosedRadioButton().Tag.ToString())).ToString()
            );
     else
         record.BetCount = BetCountCalc.GetBetCount(numPanel.GetChoosedNum(), (PlayType)PlayType);
     record.BetMoney = record.BetCount * Convert.ToDouble(lbEachNumPoint.Text);
     if (isShow)//正向
     {
         if (e.Result == null || e.Result.EnableScores < record.BetMoney)
         {
             Messager.Show("你的账户余额不足,请及时充值!");
             isHandled = false;
             return;
         }
         record.BetMultiple = Convert.ToDouble(lbEachNumPoint.Text) / Constant.OneBetPoint;
         record.BetTime = System.DateTime.Now;
         record.Direction = (int)Direction.Tag;
         record.UserID = App.Session[Constant.USERNAME_SESSION].ToString();
         record.ResultStatus = (int)BetStatusEnum.Bet;
         record.BetNums = GetBetNums();
         record.ResultStatus = 0;
         record.PlayTypeID = PlayType;
         record.LotteryTypeID = (int)lotteryType;
         record.EachNumsMoney = Convert.ToDouble(lbEachNumPoint.Text);
         record.PlayTypeName = PlayTypeName;
         record.PlayTypeRadioID = Convert.ToInt32(rbPanel.GetChoosedRadioButton().Tag);
         if (record.PlayTypeRadioID==48||record.PlayTypeRadioID==49||record.PlayTypeRadioID==50||record.PlayTypeRadioID==51||record.PlayTypeRadioID==53||record.PlayTypeRadioID==54)
         {
             record.PlayTypeDirection = rbPanel.GetChoosedRadioButton().Content+"("+numPanel.sbTxt.ToString()+")" + "[" + Direction.Text + "]";
         }
         else
         {
             record.PlayTypeDirection = rbPanel.GetChoosedRadioButton().Content + "[" + Direction.Text + "]";
         }
         record.OddBonus = isShow == true ? (lbScale.Text + "/" + lbBonus.Text) : GetOddsForNum(GetBetNums());
         record.BonusPct = isShow == true ? Convert.ToDouble(lbBackPct.Text.Replace("%", "")) : 0;
         record.WinCount = 0;
         record.WinMoney = 0;
         record.IsWin = 0;
         record.IssueNo = (App.Session[Constant.CURRENTISSUENO_SESSION] as LotteryNumsInfo).IssueNo;
         SureBet sb = new SureBet(record,isShow);
         sb.Closed += new EventHandler(sb_Closed);
         sb.Show();
     }
     else//逆向
     {
         List<BetRecord> br_list = new List<BetRecord>();
         string nums = GetBetNums();
         int count = 0;
         string[] odds = GetOddsForNum(GetBetNums()).Split(',');
         if (nums.IndexOf(",") > -1)
             count = nums.Split(',').Count();
         else
             count = nums.Length;
         double LostMoney = 0;
         for (int i = 0; i < count; i++)
         {
             BetRecord bet = new BetRecord();
             bet.BetCount = 1;
             bet.EachNumsMoney = Convert.ToDouble(lbEachNumPoint.Text);
             bet.BetMoney = bet.EachNumsMoney;
             bet.BetMultiple = Convert.ToDouble(lbEachNumPoint.Text) / Constant.OneBetPoint;
             bet.BetTime = System.DateTime.Now;
             bet.Direction = (int)Direction.Tag;
             bet.UserID = App.Session[Constant.USERNAME_SESSION].ToString();
             bet.ResultStatus = (int)BetStatusEnum.Bet;
             if (nums.IndexOf(",") > -1)
             {
                 string[] n = nums.Split(',');
                 bet.BetNums = n[i];
             }
             else
                 bet.BetNums = nums.Substring(i, 1);
             bet.ResultStatus = 0;
             bet.PlayTypeID = PlayType;
             bet.LotteryTypeID = (int)lotteryType;
             bet.PlayTypeName = PlayTypeName;
             bet.PlayTypeRadioID = Convert.ToInt32(rbPanel.GetChoosedRadioButton().Tag);
             bet.PlayTypeDirection = rbPanel.GetChoosedRadioButton().Content + "[" + Direction.Text + "]";
             bet.OddBonus = odds[i];
             bet.BonusPct = 0;
             bet.WinCount = 0;
             bet.WinMoney = 0;
             bet.IsWin = 0;
             bet.IssueNo = (App.Session[Constant.CURRENTISSUENO_SESSION] as LotteryNumsInfo).IssueNo;
             br_list.Add(bet);
             LostMoney += (Convert.ToDouble(odds[i]) - 1) * bet.BetMoney;
         }
         if (e.Result == null || e.Result.EnableScores < record.BetMoney || e.Result.EnableScores < LostMoney)
         {
             Messager.Show("你的账户余额不足或余额不足赔付本次逆向投注,请及时充值!");
             isHandled = false;
             return;
         }
         SureBet sb = new SureBet(br_list,isShow);
         sb.Closed += new EventHandler(sb_Closed);
         sb.Show();
     }
 }
Exemple #4
0
 protected void AppendLast10(int startCredit, int endCredit, int bet, int win, int luckyWin, int ball_value)
 {
     BetRecord br = new BetRecord();
     br.startCredit = startCredit;
     br.endCredit = endCredit;
     br.bet = bet;
     br.win = win;
     br.luckyWin = luckyWin;
     br.ballValue = ball_value;
     br.bets = new List<BetInfo>();
     foreach (KeyValuePair<string, int> item in betFields)
     {
         BetInfo info = new BetInfo();
         info.betField = item.Key;
         info.betValue = item.Value;
         br.bets.Add(info);
     }
     GameData.GetInstance().betRecords.Add(br);
     while (GameData.GetInstance().betRecords.Count > 10)
     {
         GameData.GetInstance().betRecords.RemoveAt(0);
     }
     GameData.GetInstance().SaveBetRecords();
 }
 private void dataForm1_Loaded(object sender, RoutedEventArgs e)
 {
     if (record != null)
         this.dataForm1.CurrentItem = record;
     else
     {
         BetRecord bet = new BetRecord();
         bet.BetCount = recordList.Count;
         bet.EachNumsMoney = recordList[0].EachNumsMoney;
         bet.BetMoney = recordList.Sum(p => p.BetMoney);
         bet.PlayTypeName = recordList[0].PlayTypeName;
         bet.Direction = recordList[0].Direction;
         this.dataForm1.CurrentItem = bet;
     }
 }
Exemple #6
0
        public string Pay()
        {
            string payCount      = Request["payCount"];      //倍数
            string selectNumbers = Request["selectNumbers"]; //下注的信息
            string lotteryType   = Request["lotteryType"];   //类型
            string expect        = Request["expect"];        //期号

            //string Opencode = Request["Opencode"];//开奖号
            string[] selNum = selectNumbers.Split(',');

            string   currUserName = HttpContext.User.Identity.Name;
            UserInfo user         = userService.LoadEntities(s => s.Name == currUserName && (!s.DelFlag.HasValue || !s.DelFlag == false)).FirstOrDefault();

            if (user == null)
            {
                throw new ApplicationException("用户信息不存在!");
            }
            Account userAccount = new AccountService().LoadEntities(s => s.UserId == user.id).FirstOrDefault();

            if (userAccount == null)
            {
                throw new ApplicationException("用户账户信息不存在!");
            }
            var balance = userAccount.Balance;

            if (balance < (selNum.Length - 1) * int.Parse(payCount))
            {
                return("余额不足,请先充值");
            }
            BetRecord br = new BetRecord();

            try
            {
                br.Expect       = expect;
                br.BetTime      = DateTime.Now;
                br.BetMoney     = (selNum.Length - 1) * int.Parse(payCount);
                br.BetCount     = int.Parse(payCount);
                br.LotteryState = "未开奖";
                br.BetUser      = HttpContext.User.Identity.Name;
                br.LotteryType  = lotteryType;
                brService.AddEntity(br);
                for (int i = 0; i < selNum.Length; i++)
                {
                    string[] sn = selNum[i].Split('|');
                    if (sn[0].ToString().Equals("特码"))
                    {
                        sn[0] = "第7球";
                    }
                    if (sn.Length == 2)
                    {
                        BetChildRecord brChild = new BetChildRecord();
                        brChild.BetRecordId = br.Id;
                        brChild.BetBallNo   = int.Parse(sn[0].ToString().TrimStart('第').TrimEnd('球'));
                        brChild.BetInfo     = sn[1];
                        brChild.BetType     = GetBetType(brChild.BetInfo);
                        brChild.Odds        = new CalculateOdds(lotteryType, sn[1]).GetOdds();
                        brChild.BetMoney    = decimal.Parse(payCount);
                        brChild.LotteryType = lotteryType;
                        brChild.Expect      = expect;
                        brChildService.AddEntityNoCommit(brChild);
                    }
                }
                userAccount.Balance = userAccount.Balance - br.BetMoney.Value;
                new AccountService().UpdateEntityNoCommit(userAccount);
                DbService dbservice = new DbService();
                dbservice.Savechange();
                return("ok");
            }
            catch (Exception ex)
            {
                BetRecord inserBr = brService.LoadEntities(s => s.Id == br.Id).FirstOrDefault();
                if (inserBr != null)
                {
                    brService.DeleteEntity(inserBr);
                }
                throw new Exception("投注出错,原因:" + ex.Message);
            }
        }
Exemple #7
0
    // 最近10场押分记录
    private void ReadBetRecords()
    {
        if (betRecords.Count > 0)
            betRecords.Clear();

        for (int idx = 0; idx < 10; ++idx)
        {
            int startCredit = PlayerPrefs.GetInt("br_startCredit" + idx, -1);
            if (startCredit < 0)
                break;
            BetRecord br = new BetRecord();
            br.startCredit = startCredit;
            br.endCredit = PlayerPrefs.GetInt("br_endCredit" + idx);
            br.bet = PlayerPrefs.GetInt("br_bet" + idx);
            br.win = PlayerPrefs.GetInt("br_win" + idx);
            br.luckyWin = PlayerPrefs.GetInt("br_luckyWin" + idx);
            br.ballValue = PlayerPrefs.GetInt("br_ballValue" + idx);
            br.bets = new List<BetInfo>();
            int numOfbets = PlayerPrefs.GetInt("br_bets" + idx + "_num");
            for (int i = 0; i < numOfbets; ++i)
            {
                string str = PlayerPrefs.GetString("br_bets" + idx + "_field" + i, string.Empty);
                if (string.IsNullOrEmpty(str))
                    break;
                BetInfo betInfo = new BetInfo();
                betInfo.betField = str;
                betInfo.betValue = PlayerPrefs.GetInt("br_bets" + idx + "_value" + i);
                br.bets.Add(betInfo);
            }
            betRecords.Add(br);
        }
    }
Exemple #8
0
        private BetRecord JudgeWin(BetRecord record, LotteryNumsInfo ltyNum)
        {
            record.UpdateTime = DateTime.Now;
            record.WinMoney = 0;
            int winCount = 0;
            string winNum = string.Empty;
            string[] betNums ;
            string[] arr_winNum;
            string[] arr_odd=null;
            switch ((PlayType)record.PlayTypeID)
            {
                case PlayType._3xZhix  ://SSC三星直选
                    #region
                    if (ltyNum.LotteryNums.Length != 5)
                        break;
                    if (record.PlayTypeRadioID == 1 || record.PlayTypeRadioID == 2)//后三直选
                        winNum = ltyNum.LotteryNums.Substring(2, 3);
                    else//前三直选
                        winNum = ltyNum.LotteryNums.Substring(0, 3);
                    betNums = record.BetNums.Split('$');
                    foreach (string num in betNums)
                    {
                        string[] nums = num.Split(',');
                        if (nums.Length != 3&&nums.Length==1)
                        {
                            if (nums[0] == winNum)
                            {
                                winCount++;
                            }
                            continue;
                        }
                        if (!nums[0].Contains(winNum.First()))
                        {
                            continue;
                        }
                        if (!nums[1].Contains(winNum.Substring(1,1)))
                        {
                            continue;
                        }
                        if (!nums[2].Contains(winNum.Last()))
                        {
                            continue;
                        }
                        winCount += 1;
                    }
                    break;
                #endregion
                case PlayType._3xZux   ://SSC三星组选
                    #region
                    if (ltyNum.LotteryNums.Length != 5)
                        break;
                     if (record.PlayTypeRadioID == 5
                         || record.PlayTypeRadioID == 6
                         ||record.PlayTypeRadioID==7)//后三组选
                     {
                         winNum = ltyNum.LotteryNums.Substring(2, 3);
                     }
                     else//前三组选
                     {
                         winNum = ltyNum.LotteryNums.Substring(0, 3);
                     }
                    betNums = record.BetNums.Split('$');
                    if (record.PlayTypeRadioID == 6 || record.PlayTypeRadioID == 9)//买组3
                    {
                        if (JudgeNumsType(winNum) != NumType.Zu3)//开组6或者豹子
                            break;

                    }
                    else if (record.PlayTypeRadioID == 5 || record.PlayTypeRadioID == 8)//买组6
                    {
                        if (JudgeNumsType(winNum) != NumType.Zu6)//开组3或者豹子
                            break;
                    }
                    else//组选混合
                    {
                        foreach (string num in betNums)
                        {
                            if (JudgeNumsType(winNum) != JudgeNumsType(num))//组选混合时形态不一致则未中奖
                                continue;
                            if (num.Contains(winNum.First())
                                && num.Contains(winNum.Substring(1, 1))
                                && num.Contains(winNum.Last()))
                                winCount += 1;
                        }
                        break;
                    }
                    foreach (string num in betNums)
                    {
                        if (num.Contains(winNum.First())
                            && num.Contains(winNum.Substring(1, 1))
                            && num.Contains(winNum.Last()))
                            winCount += 1;
                    }
                    break;
                    #endregion
                case PlayType._2xZhix  ://SSC二星直选
                    #region
                    if (ltyNum.LotteryNums.Length != 5)
                        break;
                    if (record.PlayTypeRadioID == 11 || record.PlayTypeRadioID == 12)//后二直选
                        winNum = ltyNum.LotteryNums.Substring(3, 2);
                    else//前二直选
                        winNum = ltyNum.LotteryNums.Substring(0, 2);
                    betNums = record.BetNums.Split('$');
                    foreach (string num in betNums)
                    {
                        string[] nums = num.Split(',');
                        if (nums.Length==1)
                        {
                            if (nums[0] == winNum)
                            {
                                winCount++;
                            }
                            continue;
                        }
                        if (!nums[0].Contains(winNum.First()))
                        {
                            continue;
                        }
                        if (!nums[1].Contains(winNum.Last()))
                        {
                            continue;
                        }
                        winCount += 1;
                    }
                    break;
                #endregion
                case PlayType._2xZux   ://SSC二星组选
                    #region
                    if (ltyNum.LotteryNums.Length != 5)
                        break;
                     if (record.PlayTypeRadioID == 15
                         || record.PlayTypeRadioID == 16)//后二组选
                     {
                         winNum = ltyNum.LotteryNums.Substring(3, 2);
                     }
                     else//前二组选
                     {
                         winNum = ltyNum.LotteryNums.Substring(0, 2);
                     }
                    betNums = record.BetNums.Split('$');
                    if (record.PlayTypeRadioID == 15 || record.PlayTypeRadioID == 17)//买组二(不包含组3形态即2个号码相同)
                    {
                        if (winNum.Last() == winNum.First())
                            break;
                    }
                    else//组选二混合
                    {
                        foreach (string num in betNums)
                        {
                            if (JudgeNumsType(num) != JudgeNumsType(winNum))//组选二混合时形态不一直则未中奖
                                continue;
                            if (num.Contains(winNum.First())
                                && num.Contains(winNum.Last()))
                                winCount += 1;
                        }
                        break;
                    }
                    foreach (string num in betNums)
                    {
                        if (num.Contains(winNum.First())
                            && num.Contains(winNum.Last()))
                            winCount += 1;
                    }
                    break;
                    #endregion
                case PlayType._H1Zhix:
                    #region
                    if (ltyNum.LotteryNums.Length != 5)
                        break;
                    winNum = ltyNum.LotteryNums.Substring(4, 1);//后一直选
                    betNums = record.BetNums.Split('$');
                    foreach (string num in betNums)
                    {
                        if(num.Contains(winNum))
                            winCount += 1;
                    }
                    break;
                    #endregion
                case PlayType._Bddw    :
                    #region
                    if (ltyNum.LotteryNums.Length != 5)
                        break;
                    winNum = ltyNum.LotteryNums;
                    if (record.PlayTypeRadioID == 20)
                        winNum = winNum.Substring(2, 3);
                    if (record.PlayTypeRadioID == 21)
                        winNum = winNum.Substring(0, 3);
                    betNums = record.BetNums.Split('$');
                    foreach (string num in betNums)
                    {
                        for (int i = 0; i < num.Length; i++)
                        {
                            if (winNum.Contains(num.Substring(i, 1)))
                                winCount++;
                        }
                    }
                    break;
                    #endregion
                case PlayType._Ddw     :
                    #region
                    if (ltyNum.LotteryNums.Length != 5)
                        break;
                    winNum = ltyNum.LotteryNums;
                    betNums = record.BetNums.Split('$');
                    foreach (string num in betNums)
                    {
                        if (num.Trim() == string.Empty)
                            continue;
                        string[] nums = num.Split(',');
                        for (int i = 0; i < winNum.Length; i++)
                        {
                            if (nums[i].Contains(winNum.Substring(i, 1)))
                                winCount++;
                        }
                    }
                    break;
                    #endregion
                case PlayType._R3Zhix://RX三星直选
                    #region
                    if (ltyNum.LotteryNums.Length != 5)
                        break;
                    betNums = record.BetNums.Split('$');
                    foreach (string num in betNums)
                    {
                        bool isMatch = true;
                        string[] _nums = num.Split(',');
                        for (int i = 0; i < 5; i++)
                        {
                            if (_nums[i].Trim() == string.Empty)
                                continue;
                            else
                            {
                                if (!_nums[i].Contains(ltyNum.LotteryNums.Substring(i, 1)))
                                {
                                    isMatch = false;
                                    break;
                                }
                            }
                        }
                        if(isMatch)
                            winCount++;
                    }
                    break;
                    #endregion
                case PlayType._R3Zux://RX三星组选
                    #region
                    if (ltyNum.LotteryNums.Length != 5)
                        break;
                    string str = record.PlayTypeDirection.Substring(record.PlayTypeDirection.IndexOf("(")+1,
                        record.PlayTypeDirection.IndexOf(")") - record.PlayTypeDirection.IndexOf("(")-2);
                    string[] checkboxs = str.Split(',');
                    foreach (string cb in checkboxs)
                    {
                        switch (cb.ToLower())
                        {
                            case "万":
                                winNum = winNum + ltyNum.LotteryNums.Substring(0, 1);
                                break;
                            case "千":
                                winNum = winNum + ltyNum.LotteryNums.Substring(1, 1);
                                break;
                            case "百":
                                winNum = winNum + ltyNum.LotteryNums.Substring(2, 1);
                                break;
                            case "十":
                                winNum = winNum + ltyNum.LotteryNums.Substring(3, 1);
                                break;
                            case "个":
                                winNum = winNum + ltyNum.LotteryNums.Substring(4, 1);
                                break;
                        }
                    }
                     betNums = record.BetNums.Split('$');
                    if (record.PlayTypeRadioID == 49)//买组3
                    {
                        if (JudgeNumsType(winNum) != NumType.Zu3)//开组6或者豹子
                            break;

                    }
                    else if (record.PlayTypeRadioID == 50)//买组6
                    {
                        if (JudgeNumsType(winNum) != NumType.Zu6)//开组3或者豹子
                            break;
                    }
                    else//组选混合
                    {
                        foreach (string num in betNums)
                        {
                            if (JudgeNumsType(winNum) != JudgeNumsType(num))//组选混合时形态不一致则未中奖
                                continue;
                            if (num.Contains(winNum.First())
                                && num.Contains(winNum.Substring(1, 1))
                                && num.Contains(winNum.Last()))
                                winCount += 1;
                        }
                        break;
                    }
                    foreach (string num in betNums)
                    {
                        if (num.Contains(winNum.First())
                            && num.Contains(winNum.Substring(1, 1))
                            && num.Contains(winNum.Last()))
                            winCount += 1;
                    }
                    break;
                    #endregion
                case PlayType._R2Zhix://RX二星直选
                    #region
                    if (ltyNum.LotteryNums.Length != 5)
                        break;
                     betNums = record.BetNums.Split('$');
                    foreach (string num in betNums)
                    {
                        bool isMatch = true;
                        string[] _nums = num.Split(',');
                        for (int i = 0; i < 5; i++)
                        {
                            if (_nums[i].Trim() == string.Empty)
                                continue;
                            else
                            {
                                if (!_nums[i].Contains(ltyNum.LotteryNums.Substring(i, 1)))
                                {
                                    isMatch = false;
                                    break;
                                }
                            }
                        }
                       if(isMatch)
                            winCount++;
                    }
                    break;
                    #endregion
                case PlayType._R2Zux://RX二星组选
                    #region
                    if (ltyNum.LotteryNums.Length != 5)
                        break;
                    string str2 = record.PlayTypeDirection.Substring(record.PlayTypeDirection.IndexOf("(")+1,
                        record.PlayTypeDirection.IndexOf(")") - record.PlayTypeDirection.IndexOf("(")-2);
                    string[] checkboxs2 = str2.Split(',');
                    foreach (string cb in checkboxs2)
                    {
                        switch (cb.ToLower())
                        {
                            case "万":
                                winNum = winNum + ltyNum.LotteryNums.Substring(0, 1);
                                break;
                            case "千":
                                winNum = winNum + ltyNum.LotteryNums.Substring(1, 1);
                                break;
                            case "百":
                                winNum = winNum + ltyNum.LotteryNums.Substring(2, 1);
                                break;
                            case "十":
                                winNum = winNum + ltyNum.LotteryNums.Substring(3, 1);
                                break;
                            case "个":
                                winNum = winNum + ltyNum.LotteryNums.Substring(4, 1);
                                break;
                        }
                    }
                     betNums = record.BetNums.Split('$');
                    foreach (string num in betNums)
                    {
                        if (JudgeNumsType(winNum) != JudgeNumsType(num))//组选混合时形态不一致则未中奖
                            continue;
                        if (num.Contains(winNum.First())
                            && num.Contains(winNum.Substring(1, 1))
                            && num.Contains(winNum.Last()))
                            winCount += 1;
                    }
                    break;
                    #endregion
                case PlayType._Rbdw://RX任不定位
                    #region
                    if (ltyNum.LotteryNums.Length != 5)
                        break;
                    winNum = ltyNum.LotteryNums;
                    if (record.PlayTypeRadioID == 56)
                        winNum = winNum.Substring(2, 3);
                    if (record.PlayTypeRadioID == 57)
                        winNum = winNum.Substring(0, 3);
                    betNums = record.BetNums.Split('$');
                    foreach (string num in betNums)
                    {
                        for (int i = 0; i < num.Length; i++)
                        {
                            if (winNum.Contains(num.Substring(i, 1)))
                                winCount++;
                        }
                    }
                    break;
                    #endregion
                case PlayType._Rydw://RX任意定位
                    #region
                    if (ltyNum.LotteryNums.Length != 5)
                        break;
                    winNum = ltyNum.LotteryNums;
                    betNums = record.BetNums.Split('$');
                    foreach (string num in betNums)
                    {
                        string[] nums = num.Split(',');
                        for (int i = 0; i < winNum.Length; i++)
                        {
                            if (nums[i].Contains(winNum.Substring(i, 1)))
                                winCount++;
                        }
                    }
                    break;
                    #endregion

                case PlayType._3DZhix  :
                    #region
                    if (ltyNum.LotteryNums.Length != 3)
                        break;
                    winNum = ltyNum.LotteryNums;
                    betNums = record.BetNums.Split('$');
                    foreach (string num in betNums)
                    {
                        string[] nums = num.Split(',');
                        if (nums.Length != 3&&nums.Length==1)
                        {
                            if (nums[0] == winNum)
                            {
                                winCount++;
                            }
                            continue;
                        }
                        if (!nums[0].Contains(winNum.First()))
                        {
                            continue;
                        }
                        if (!nums[1].Contains(winNum.Substring(1,1)))
                        {
                            continue;
                        }
                        if (!nums[2].Contains(winNum.Last()))
                        {
                            continue;
                        }
                        winCount += 1;
                    }
                    break;
                #endregion
                case PlayType._3DZux   :
                    #region
                    if (ltyNum.LotteryNums.Length != 3)
                        break;
                    winNum = ltyNum.LotteryNums;
                    betNums = record.BetNums.Split('$');
                    if (record.PlayTypeRadioID == 27)//买组3
                    {
                        if (JudgeNumsType(winNum) != NumType.Zu3)//开组6或者豹子
                            break;

                    }
                    else if (record.PlayTypeRadioID == 26)//买组6
                    {
                        if (JudgeNumsType(winNum) != NumType.Zu6)//开组3或者豹子
                            break;
                    }
                    else//组选混合
                    {
                        foreach (string num in betNums)
                        {
                            if (JudgeNumsType(winNum) != JudgeNumsType(num))//组选混合时形态不一致则未中奖
                                continue;
                            if (num.Contains(winNum.First())
                                && num.Contains(winNum.Substring(1, 1))
                                && num.Contains(winNum.Last()))
                                winCount += 1;
                        }
                        break;
                    }
                    foreach (string num in betNums)
                    {
                        if (num.Contains(winNum.First())
                            && num.Contains(winNum.Substring(1, 1))
                            && num.Contains(winNum.Last()))
                            winCount += 1;
                    }
                    break;
                    #endregion
                case PlayType._3D2xZhix:
                    #region
                    if (ltyNum.LotteryNums.Length != 3)
                        break;
                    winNum = ltyNum.LotteryNums.Substring(1, 2);
                    betNums = record.BetNums.Split('$');
                    foreach (string num in betNums)
                    {
                        string[] nums = num.Split(',');
                        if (nums.Length==1)
                        {
                            if (nums[0] == winNum)
                            {
                                winCount++;
                            }
                            continue;
                        }
                        if (!nums[0].Contains(winNum.First()))
                        {
                            continue;
                        }
                        if (!nums[1].Contains(winNum.Last()))
                        {
                            continue;
                        }
                        winCount += 1;
                    }
                    break;
                #endregion
                case PlayType._3D2xZux :
                    #region
                    if (ltyNum.LotteryNums.Length != 3)
                        break;
                    winNum = ltyNum.LotteryNums.Substring(1, 2);
                    betNums = record.BetNums.Split('$');
                    if (record.PlayTypeRadioID == 31)//买组二(不包含组3形态即2个号码相同)
                    {
                        if (winNum.Last() == winNum.First())
                            break;
                    }
                    else//组选二混合
                    {
                        foreach (string num in betNums)
                        {
                            if (JudgeNumsType(num) != JudgeNumsType(winNum))//组选二混合时形态不一直则未中奖
                                continue;
                            if (num.Contains(winNum.First())
                                && num.Contains(winNum.Last()))
                                winCount += 1;
                        }
                    }
                    foreach (string num in betNums)
                    {
                        if (num.Contains(winNum.First())
                            && num.Contains(winNum.Last()))
                            winCount += 1;
                    }
                    break;
                    #endregion
                case PlayType._3DH1Zhix:
                    #region
                    if (ltyNum.LotteryNums.Length != 3)
                        break;
                    winNum = ltyNum.LotteryNums.Substring(2, 1);//后一直选
                    betNums = record.BetNums.Split('$');
                    foreach (string num in betNums)
                    {
                        if(num.Contains(winNum))
                            winCount += 1;
                    }
                    break;
                    #endregion
                case PlayType._3DBddw  :
                    #region
                    if (ltyNum.LotteryNums.Length != 3)
                        break;
                    winNum = ltyNum.LotteryNums;
                    betNums = record.BetNums.Split('$');
                    foreach (string num in betNums)
                    {
                        for (int i = 0; i < num.Length; i++)
                        {
                            if (winNum.Contains(num.Substring(i, 1)))
                                winCount++;
                        }
                    }
                    break;
                    #endregion
                case PlayType._3DDdw   :
                    #region
                    if (ltyNum.LotteryNums.Length != 3)
                        break;
                    winNum = ltyNum.LotteryNums;
                    betNums = record.BetNums.Split('$');
                    foreach (string num in betNums)
                    {
                        string[] nums = num.Split(',');
                        for (int i = 0; i < winNum.Length; i++)
                        {
                            if (nums[i].Contains(winNum.Substring(i, 1)))
                                winCount++;
                        }
                    }
                    break;
                    #endregion
                case PlayType._SSQBlue:
                    #region
                    if (ltyNum.LotteryNums.Split(',').Length!=7)
                        break;
                    arr_winNum = ltyNum.LotteryNums.Split(',');
                    winNum = arr_winNum[6];
                    betNums = record.BetNums.Split('$');
                    foreach (string num in betNums)
                    {
                        string[] nums = num.Split(',');
                        if (nums.Contains(winNum))
                            winCount++;
                    }
                    break;
                    #endregion
                case PlayType._SSQRed  :
                    #region
                    if (ltyNum.LotteryNums.Split(',').Length!=7)
                        break;
                    winNum = ltyNum.LotteryNums.Substring(0, ltyNum.LotteryNums.Length - 3);
                    arr_winNum=winNum.Split(',');
                    betNums = record.BetNums.Split('$');
                    foreach (string num in betNums)
                    {
                        string[] nums = num.Split(',');
                        foreach (string _num in arr_winNum)
                        {
                            if (nums.Contains(_num))
                                winCount++;
                        }
                    }
                    break;
                    #endregion
                case PlayType.NSSCBdw  :
                    #region
                    if (ltyNum.LotteryNums.Length != 5)
                        break;
                    winNum = ltyNum.LotteryNums;
                    if (record.PlayTypeRadioID == 38)
                        winNum = winNum.Substring(4, 1);
                    if (record.PlayTypeRadioID == 39)
                        winNum = winNum.Substring(3, 2);
                    if (record.PlayTypeRadioID == 40)
                        winNum = winNum.Substring(2, 3);
                    if(!winNum.Contains(record.BetNums))
                    {
                        winCount++;
                        record.WinMoney = record.BetMoney * 2;
                    }
                    break;
                    #endregion
                case PlayType.N3DBdw   :
                    #region
                    if (ltyNum.LotteryNums.Length != 3)
                        break;
                    winNum = ltyNum.LotteryNums;
                    if (record.PlayTypeRadioID == 42)
                        winNum = winNum.Substring(2, 1);
                    if (record.PlayTypeRadioID == 43)
                        winNum = winNum.Substring(1, 2);
                    if (!winNum.Contains(record.BetNums))
                    {
                        winCount++;
                        record.WinMoney = record.BetMoney * 2;
                    }
                    break;
                    #endregion
                case PlayType.NSSQBlue :
                    #region
                    if (ltyNum.LotteryNums.Split(',').Length!=7)
                        break;
                    arr_winNum = ltyNum.LotteryNums.Split(',');
                    winNum = arr_winNum[6];
                    if (!winNum.Contains(record.BetNums))
                    {
                        winCount++;
                        record.WinMoney = record.BetMoney * 2;
                    }
                    break;
                    #endregion
                case PlayType.NSSQRed  :
                    #region
                    if (ltyNum.LotteryNums.Split(',').Length!=7)
                        break;
                    winNum = ltyNum.LotteryNums.Substring(0, ltyNum.LotteryNums.Length - 3);
                    if (!winNum.Contains(record.BetNums))
                    {
                        winCount++;
                        record.WinMoney = record.BetMoney * 2;
                    }
                    break;
                    #endregion
            }
            record.IsWin = winCount == 0 ? 0 : 1;
            record.WinCount = winCount;
            if ((PlayType)record.PlayTypeID != PlayType.N3DBdw
                && (PlayType)record.PlayTypeID != PlayType.NSSCBdw
                && (PlayType)record.PlayTypeID != PlayType.NSSQBlue
                && (PlayType)record.PlayTypeID != PlayType.NSSQRed)
            {
                arr_odd = record.OddBonus.Split('/');
                record.WinMoney = Math.Round(Convert.ToDouble(arr_odd[0]) * record.BetMultiple*record.WinCount, 2);
            }
            return record;
        }