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(); 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(); } }
partial void DeleteMatch_analysis_result(Match_analysis_result instance);
partial void UpdateMatch_analysis_result(Match_analysis_result instance);
partial void InsertMatch_analysis_result(Match_analysis_result instance);
private void TreeNodeLoad(TreeNode tn) { foreach (var ltl in ltls) { string fDraw=""; double? fit = 0, goals = 0, wdl = 0; //加入live_table数据 strNode = ltl.Live_table_lib_id + "," + ltl.Match_type + "," + ltl.Match_time + "::" + ltl.Home_team + "::" + ltl.Away_team + "::" + ltl.Status; mar = marAll.Where(o => o.Live_table_lib_id == ltl.Live_table_lib_id).OrderByDescending(o => o.Analysis_result_id).FirstOrDefault(); if (mar != null) //有运行过算法 { //加入match_analysis数据 strNode += "||" + mar.Result_fit + "::" + mar.Result_goals + "::" + mar.Result_wdl + "::" + mar.Fit_win_loss + "::" + mar.Home_goals + "::" + mar.Away_goals + "::" + (mar.Home_goals - mar.Away_goals) + "::" + mar.Home_w.ToString() + "::" + mar.Home_d.ToString() + "::" + mar.Home_l.ToString(); fDraw=ForecastDraw(mar.Home_w,mar.Home_d,mar.Home_l); if (mar.Result_tb_lib_id != null) //有导入了结果 { //加入result_tb数据 rtl = rtlAll.Where(e => e.Result_tb_lib_id == mar.Result_tb_lib_id).FirstOrDefault(); strNode += "||" + rtl.Match_time.Value.ToShortDateString() + "::" + rtl.Full_home_goals.ToString() + "-" + rtl.Full_away_goals.ToString() + "::" + rtl.Odds + "::" + rtl.Win_loss_big + "::" + rtl.Home_team + "::" + rtl.Away_team; } fit = mar.Fit_win_loss; goals = mar.Home_goals - mar.Away_goals; wdl = mar.Home_w - mar.Home_l; } //加入bj单场数据 foreach (var lo in loAll) if (ltl.Home_team.Contains(lo.MatchOrder1_HomeName) || ltl.Away_team.Contains(lo.MatchOrder1_AwayName)) //有匹配bj单场的数据 strNode += "{" + lo.KeyValue + "}" + lo.MatchOrder1_HandicapNumber + "***【赔率+拟合】"; if (ltl.Home_team.IndexOf("*") != -1) strNode += "++++++{3"; else strNode += "++++++{0"; strNode += fDraw; if (fit < 0) strNode += "0}"; else strNode += "3}"; TreeNode child = new TreeNode(strNode); tn.Nodes.Add(child); //颜色处理 if (fit < 0) child.ForeColor = Color.Blue; if (goals < 0) child.BackColor = Color.Orange; if (wdl < 0) child.NodeFont = new Font("Trebuchet MS", 10, FontStyle.Bold); if (strNode.Contains("***")) child.Parent.ForeColor = Color.Red; } }