Esempio n. 1
0
 private void updateOddsHistory()
 {
     if (Request["odds"] != null && Request["scheduleid"] != null)
     {
         JObject result = new JObject();
         try
         {
             string[]       allOddsArray = Request.Form["odds"].Split('^');
             List <string>  swhereList   = new List <string>();
             List <string>  ewhereList   = new List <string>();
             List <decimal> swlist       = new List <decimal>();
             List <decimal> sdlist       = new List <decimal>();
             List <decimal> sllist       = new List <decimal>();
             List <decimal> ewlist       = new List <decimal>();
             List <decimal> edlist       = new List <decimal>();
             List <decimal> ellist       = new List <decimal>();
             foreach (string oddsStr in allOddsArray)
             {
                 string[] oddsArray = oddsStr.Split('|');
                 swhereList.Add("(companyid=" + oddsArray[0] + " and s_win=" + oddsArray[3] +
                                " and s_draw=" + oddsArray[4] + " and s_lost=" + oddsArray[5] + ")");
                 swlist.Add(Convert.ToDecimal(oddsArray[6]));
                 sdlist.Add(Convert.ToDecimal(oddsArray[7]));
                 sllist.Add(Convert.ToDecimal(oddsArray[8]));
                 if (!string.IsNullOrEmpty(oddsArray[10]) && !string.IsNullOrEmpty(oddsArray[11]) && !string.IsNullOrEmpty(oddsArray[12]) && !string.IsNullOrEmpty(oddsArray[13]) && !string.IsNullOrEmpty(oddsArray[14]) && !string.IsNullOrEmpty(oddsArray[15]))
                 {
                     ewhereList.Add("(companyid=" + oddsArray[0] + " and e_win=" + oddsArray[10] +
                                    " and e_draw=" + oddsArray[11] + " and e_lost=" + oddsArray[12] + ")");
                     ewlist.Add(Convert.ToDecimal(oddsArray[13]));
                     edlist.Add(Convert.ToDecimal(oddsArray[14]));
                     ellist.Add(Convert.ToDecimal(oddsArray[15]));
                 }
             }
             DataSet sds = scheduleBLL.statOddsHistory("(" + String.Join(" or ", swhereList.ToArray()) + ")");
             DataSet eds = scheduleBLL.statOddsHistory("(" + String.Join(" or ", ewhereList.ToArray()) + ")");
             if (sds != null && eds != null)
             {
                 ScheduleAnalysis model = new ScheduleAnalysis();
                 model.scheduleid = Convert.ToInt32(Request.Form["scheduleid"]);
                 model.oddswin    = ewlist.Average() - swlist.Average();
                 model.oddsdraw   = edlist.Average() - sdlist.Average();
                 model.oddslost   = ellist.Average() - sllist.Average();
                 model.perwin     = Convert.ToDecimal(eds.Tables[0].Rows[0][0]) - Convert.ToDecimal(sds.Tables[0].Rows[0][0]);
                 model.perdraw    = Convert.ToDecimal(eds.Tables[0].Rows[0][1]) - Convert.ToDecimal(sds.Tables[0].Rows[0][1]);
                 model.perlost    = Convert.ToDecimal(eds.Tables[0].Rows[0][2]) - Convert.ToDecimal(sds.Tables[0].Rows[0][2]);
                 model.time       = DateTime.Now;
                 if (!scheduleAnalysisBLL.Exists(model))
                 {
                     scheduleAnalysisBLL.Add(model);
                     Response.Write("更新赔率成功");
                 }
             }
         }
         catch (Exception e)
         {
             Response.Write(e.Message);
         }
     }
 }
Esempio n. 2
0
        public void updateOdds1x2Stat(string scheduleID)
        {
            try
            {
                ScheduleAnalysisBLL scheduleAnalysisBLL = new ScheduleAnalysisBLL();
                ScheduleBLL         scheduleBLL         = new ScheduleBLL();
                WebClientBLL        bll = new WebClientBLL();
                string actual           = bll.UpdateOdds1x2Content(scheduleID);

                //获取赔率原始数据
                Regex reg = new Regex("game\\=Array\\(\"" + "\\w[^;" + "]*;");
                Match mat = reg.Match(actual);
                if (mat != null && !String.IsNullOrEmpty(mat.Value))
                {
                    List <string>  swhereList = new List <string>();
                    List <string>  ewhereList = new List <string>();
                    List <decimal> swlist     = new List <decimal>();
                    List <decimal> sdlist     = new List <decimal>();
                    List <decimal> sllist     = new List <decimal>();
                    List <decimal> ewlist     = new List <decimal>();
                    List <decimal> edlist     = new List <decimal>();
                    List <decimal> ellist     = new List <decimal>();

                    //所有公司数据
                    string source = mat.Value.Substring(12, mat.Value.Length - 10 - 4);
                    //分解出每个公司数据
                    string[] oddsArr = Regex.Split(source, "\",\"", RegexOptions.IgnoreCase);
                    foreach (string oddsStr in oddsArr)
                    {
                        string[] oddsArray = oddsStr.Replace("\"", "").Split('|');
                        swhereList.Add("(companyid=" + oddsArray[0] + " and s_win=" + oddsArray[3] +
                                       " and s_draw=" + oddsArray[4] + " and s_lost=" + oddsArray[5] + ")");
                        swlist.Add(Convert.ToDecimal(oddsArray[6]));
                        sdlist.Add(Convert.ToDecimal(oddsArray[7]));
                        sllist.Add(Convert.ToDecimal(oddsArray[8]));
                        if (!string.IsNullOrEmpty(oddsArray[10]) && !string.IsNullOrEmpty(oddsArray[11]) && !string.IsNullOrEmpty(oddsArray[12]) && !string.IsNullOrEmpty(oddsArray[13]) && !string.IsNullOrEmpty(oddsArray[14]) && !string.IsNullOrEmpty(oddsArray[15]))
                        {
                            ewhereList.Add("(companyid=" + oddsArray[0] + " and e_win=" + oddsArray[10] +
                                           " and e_draw=" + oddsArray[11] + " and e_lost=" + oddsArray[12] + ")");
                            ewlist.Add(Convert.ToDecimal(oddsArray[13]));
                            edlist.Add(Convert.ToDecimal(oddsArray[14]));
                            ellist.Add(Convert.ToDecimal(oddsArray[15]));
                        }
                    }
                    DataSet sds = scheduleBLL.statOddsHistory("(" + String.Join(" or ", swhereList.ToArray()) + ")");
                    DataSet eds = scheduleBLL.statOddsHistory("(" + String.Join(" or ", ewhereList.ToArray()) + ")");
                    if (sds != null && eds != null)
                    {
                        ScheduleAnalysis model = new ScheduleAnalysis();
                        model.scheduleid = Convert.ToInt32(scheduleID);
                        model.oddswin    = ewlist.Average() - swlist.Average();
                        model.oddsdraw   = edlist.Average() - sdlist.Average();
                        model.oddslost   = ellist.Average() - sllist.Average();
                        model.perwin     = Convert.ToDecimal(eds.Tables[0].Rows[0][0]) - Convert.ToDecimal(sds.Tables[0].Rows[0][0]);
                        model.perdraw    = Convert.ToDecimal(eds.Tables[0].Rows[0][1]) - Convert.ToDecimal(sds.Tables[0].Rows[0][1]);
                        model.perlost    = Convert.ToDecimal(eds.Tables[0].Rows[0][2]) - Convert.ToDecimal(sds.Tables[0].Rows[0][2]);
                        model.time       = DateTime.Now;
                        if (!scheduleAnalysisBLL.Exists(model))
                        {
                            scheduleAnalysisBLL.Add(model);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }