public void top20Algorithm()
 {
     using (DataClassesMatchDataContext matches = new DataClassesMatchDataContext(Conn.conn))
     {
         int i = 0;
         foreach (var id in idExc)
         {
             i++;
             ProgressBarDelegate.DoSendPMessage(i);
             Application.DoEvents();
             RowNumberLimit r = new RowNumberLimit(id);
             //match_analysis_result mar = new match_analysis_result();
             var mar = matches.Match_analysis_result.Where(e => e.Live_table_lib_id == id).First();//查找需要更新的数据
             mar.Live_table_lib_id = r.id;
             mar.Pre_algorithm = "top20";
             mar.Pre_match_count  = r.Top20Count;
             mar.Home_goals = r.HomeGoals;
             mar.Away_goals = r.AwayGoals;
             mar.Home_w = r.hWin;
             mar.Home_d = r.hDraw;
             mar.Home_l = r.hLose;
             mar.Fit_win_loss = r.CureFitWinLoss ;
             mar.Fit_goals = r.CureFitGoals ;
             mar.Fit_odd_even = r.CureFitOddEven ;//直接赋值,修改完成
             
         }
         matches.SubmitChanges();
     }
 }
 public void top20Algorithm()
 {
     using ( SoccerScoreSqlite matches = new SoccerScoreSqlite(Conn.cnn))
     {
         int i = 0;
         foreach (var id in idExc)
         {
             i++;
             ProgressBarDelegate.DoSendPMessage(i);
             Application.DoEvents();
             RowNumberLimit r = new RowNumberLimit(id);
            // match_analysis_result mar = new match_analysis_result();
             MatchAnalysisResult mar = new MatchAnalysisResult();
             mar.LiveTableLibID= r.id;
             mar.PreAlgorithm = "top20";
             mar.PreMatchCount = r.Top20Count;
             mar.HomeGoals =(float) r.HomeGoals;
             mar.AwayGoals = (float)r.AwayGoals;
             mar.HomeW = r.hWin;
             mar.HomeD = r.hDraw;
             mar.HomeL = r.hLose;
             mar.FitWinLoss = (float)r.CureFitWinLoss;
             mar.FitGoals = (float) r.CureFitGoals;
             mar.FitOddEven = (float)r.CureFitOddEven;
             matches.MatchAnalysisResult.InsertOnSubmit(mar);
            
         }
         matches.SubmitChanges();
     }
 }
 public void top20Algorithm()
 {
     using (DataClassesMatchDataContext matches = new DataClassesMatchDataContext())
     {
         int i = 0;
         foreach (var id in idExc)
         {
             i++;
             ProgressBarDelegate.DoSendPMessage(i);
             Application.DoEvents();
             RowNumberLimit r = new RowNumberLimit(id);
             match_analysis_result mar = new match_analysis_result();
             mar.live_table_lib_id = r.id;
             mar.pre_algorithm = "top20";
             mar.pre_match_count = r.Top20Count;
             mar.home_goals = r.HomeGoals;
             mar.away_goals = r.AwayGoals;
             mar.home_w = r.hWin;
             mar.home_d = r.hDraw;
             mar.home_l = r.hLose;
             mar.fit_win_loss = r.CureFitWinLoss ;
             mar.fit_goals = r.CureFitGoals ;
             mar.fit_odd_even = r.CureFitOddEven ;
             matches.match_analysis_result.InsertOnSubmit(mar);
            
         }
         matches.SubmitChanges();
     }
 }
 public void top20Algorithm()
 {
     //using (SoccerScoreCompact match = new SoccerScoreCompact(cnn))
     //{
         int i = 0;
         foreach (var id in idExc)
         {
             i++;
             ProgressBarDelegate.DoSendPMessage(i);
             Application.DoEvents();
             RowNumberLimit r = new RowNumberLimit(id);
             //Match_analysis_result mar = new Match_analysis_result();
             var mar = Conn.match.Match_analysis_result.Where(e => e.Live_table_lib_id == id).First();//查找需要更新的数据
             mar.Live_table_lib_id = r.id;
             mar.Pre_algorithm= "top20";
             mar.Pre_match_count = r.Top20Count;
             mar.Home_goals = r.HomeGoals;
             mar.Away_goals = r.AwayGoals;
             mar.Home_w= r.hWin;
             mar.Home_d = r.hDraw;
             mar.Home_l= r.hLose;
             mar.Fit_win_loss = r.CureFitWinLoss ;
             mar.Fit_goals = r.CureFitGoals ;
             mar.Fit_odd_even = r.CureFitOddEven ;//直接赋值,修改完成
             
         }
         Conn.match.SubmitChanges();
     //}
 }
        public static string ForeCast(Chart chart1, int id, string title)
        {
            foreach (Series ser in chart1.Series) ser.Points.Clear(); //清理chart1上的数据
            string forecast = null;

            rnl = new RowNumberLimit(id);
            rnl.initCurveFit();
            matchpoints = rnl.ListMatchPointData;  //生成历史数据
            fit = rnl.CurveFit;//生成预测数据

            for (int i = 0; i < matchpoints.Count(); i++)
            {
                chart1.Series["RealScore"].Points.AddXY(matchpoints[i].matchTime, matchpoints[i].LastMatchScore);
                //WinLoss
                chart1.Series["RealWDL"].Points.AddXY(matchpoints[i].matchTime, matchpoints[i].LastMatchWDL);
                chart1.Series["RealGoals"].Points.AddXY(matchpoints[i].matchTime, matchpoints[i].LastMatchGoals);
                //chart1.Series["RealOddEven"].Points.AddXY(matchpoints[i].matchTime, matchpoints[i].LastMatchOddEven);
                //WinLoss forecast
                if (i != matchpoints.Count() - 1)
                {
                    chart1.Series["ForeWDL"].Points.AddXY(matchpoints[i + 1].matchTime, fit[i].LastMatchWDL);
                }
                else
                {
                    chart1.Series["ForeWDL"].Points.AddXY(rnl.matchtime, fit[i].LastMatchWDL);
                    forecast = fit[i].LastMatchWDL.ToString();
                    chart1.Series["ForeWDL"].Points[i].Label = forecast + "::WDL";
                    chart1.Series["ForeWDL"].Points[i].LabelBorderColor = Color.Red; ;
                }
                //Goals forecast
                if (i != matchpoints.Count() - 1)
                {
                    chart1.Series["ForeGoals"].Points.AddXY(matchpoints[i + 1].matchTime, fit[i].LastMatchGoals);
                }
                else
                {
                    chart1.Series["ForeGoals"].Points.AddXY(rnl.matchtime, fit[i].LastMatchGoals);
                    forecast = fit[i].LastMatchGoals.ToString();
                    chart1.Series["ForeGoals"].Points[i].Label = forecast + "::Goals";
                    chart1.Series["ForeGoals"].Points[i].LabelBorderColor = Color.Red;
                }
                //OddEven forecast
                //if (i != matchpoints.Count() - 1)
                //    chart1.Series["ForeOddEven"].Points.AddXY(matchpoints[i + 1].matchTime, fitOE[i].LastMatchOddEven);
                //else
                //    chart1.Series["ForeOddEven"].Points.AddXY(rnl.matchtime, fitOE[i].LastMatchOddEven);
            }
            //chart1.Titles["Title1"].Text = title;
            BaseChartFormat(chart1);

            return rnl.ListLastJZ +rnl.MacauPre;
        }
        public void top20Algorithm()
        {
            using (DataClassesMatchDataContext matches = new DataClassesMatchDataContext(Conn.conn))
            {
                int i = 0;
                foreach (int liveid in idExc)
                {
                    i++;
                    ProgressBarDelegate.DoSendPMessage(i);
                    Application.DoEvents();
                    r = new RowNumberLimit(liveid);
                    r.initCurveFit();
                    //match_analysis_result mar = new match_analysis_result();

                    mar = matches.Match_analysis_result
                        .Where(e => e.Live_table_lib_id == liveid)
                        .First();//查找需要更新的数据

                    mar.Live_table_lib_id = r.live_id;
                    mar.Pre_algorithm = "top20";
                    mar.Pre_match_count = r.Top20Count;
                    mar.Home_goals = r.HomeGoals;
                    mar.Away_goals = r.AwayGoals;

                    mar.Home_w = r.hWin;
                    mar.Home_d = r.hDraw;
                    mar.Home_l = r.hLose;

                    mar.Fit_win_loss = r.CureFitWinLoss();
                    mar.Fit_goals = r.CureFitGoals();
                    mar.Fit_odd_even = r.CureFitOddEven();//直接赋值,修改完成

                    //2011.9.22   修改成利用积分进行运算
                    mar.Recent_scores = r.RecentScores; //增加最后一轮的分数
                    mar.Recent_2scores = r.Recent2Scores;
                    mar.Recent_3scores = r.Recent3Scores;
                    mar.Recent_4scores = r.Recent4Scores;
                    mar.Recent_5scores = r.Recent5Scores;
                    mar.Recent_6scores = r.Recent6Scores;


                    //2011.6.22
                    mar.Cross_goals = r.CrossGoals;


                    //2011.6.16
                    //【交战+概率1+拟合+进球+概率30】
                    mar.Myfit =
                        //交战
                        ForecastCross(r.CrossGoals) + ":" +
                        //概率1
                        ForecastD(mar.Home_w, mar.Home_d, mar.Home_l) + ":" +
                        //拟合+进球+概率30
                        ForecastWL(mar.Fit_win_loss, mar.Home_goals, mar.Away_goals, mar.Home_w, mar.Home_l);


                    //更新北京单场
                    sg = lss[r.home_team_big.ToString() + r.away_team_big.ToString()].FirstOrDefault();
                    if (sg != null)
                        mar.Pre_algorithm = sg.Html_position;

                    sgerror = lss[r.away_team_big.ToString() + r.home_team_big.ToString()].FirstOrDefault();
                    if (sgerror != null)
                        mar.Pre_algorithm = sgerror.Html_position;

                    //r.Close();

                    //缩短数据更新周期
                    if (i % 100 == 0)
                    {
                        matches.SubmitChanges();
                        //GC.Collect(); GC.Collect(); Application.DoEvents();
                    }

                    //2011.10.8.   这里销毁
                    r.Dispose();
                }
                matches.SubmitChanges();
            }
        }