partial void DeleteResult_tb_lib(Result_tb_lib instance);
partial void UpdateResult_tb_lib(Result_tb_lib 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; } }
partial void InsertResult_tb_lib(Result_tb_lib instance);
public void UpdateLastMatch() { int i = 0; DataClassesMatchDataContext matches = new DataClassesMatchDataContext(Conn .conn ); var rt = matches.Result_tb.OrderBy(o => o.S_date).ThenBy(p => p.S_time);//用lambda表达式简洁 //取临时变量监视 DateTime lib_max_match_time = matches.Result_tb_lib.Select(p => p.Match_time).Max().Value.AddDays(-2); foreach (var m in rt) { i++; ProgressBarDelegate.DoSendPMessage(i); Application.DoEvents(); if (m.Home_team_big != null) { Result_tb_lib rtl = new Result_tb_lib(); rtl.Html_position = Int32.Parse(m.Html_position); rtl.Home_team_big = Int32.Parse(GetNumber(m.Home_team_big)); rtl.Away_team_big = Int32.Parse(GetNumber(m.Away_team_big)); rtl.Match_type = m.Match_type.Trim(); last_line = m.S_time.LastIndexOf("\n"); temp_time=m.S_time.Substring(last_line,m.S_time.Length-last_line-1); rtl.Match_time = DateTime.Parse(m.S_date.Substring(0, 10) + " " + temp_time); rtl.Odds = m.Odds.Trim(); rtl.Win_loss_big = m.Win_loss_big.Trim(); rtl.Home_team = m.Home_team.Trim(); rtl.Away_team = m.Away_team.Trim(); rtl.Home_red_card = StringCount(m.Home_team, " ", 0); rtl.Away_red_card =StringCount(m.Away_team, " ", 0); string bf = m.Full_time_score.Replace(" ", "").Replace(" ", ""); if (m.Full_time_score.IndexOf("-") > 0) { rtl.Full_home_goals = Int32.Parse(bf.Substring(0, bf.IndexOf("-"))); rtl.Full_away_goals = Int32.Parse(bf.Substring(bf.IndexOf("-") + 1, bf.Length - bf.IndexOf("-") - 1)); } if (m.Half_time_score.IndexOf("-") > 0) { rtl.Half_home_goals = Int32.Parse(m.Half_time_score.Substring(0, m.Half_time_score.IndexOf("-"))); rtl.Half_away_goals = Int32.Parse(m.Half_time_score.Substring(m.Half_time_score.IndexOf("-") + 1, m.Half_time_score.Length - m.Half_time_score.IndexOf("-") - 1)); } //如果库中文件的日期太小,直接删除 if (rtl.Match_time > lib_max_match_time) { //数据分区,层次化查询 var rtExist = from p in matches.Result_tb_lib where p.Match_time == rtl.Match_time where p.Home_team_big == rtl.Home_team_big where p.Away_team_big == rtl.Away_team_big select p; //库中没有记录直接插入 if (!rtExist.Any()) { matches.Result_tb_lib.InsertOnSubmit(rtl); matches.SubmitChanges(); } } //更新后删除 matches.Result_tb.DeleteOnSubmit(m); matches.SubmitChanges(); } } MessageBox.Show("OK"); //dataGridView1.DataSource = matches.result_tb_lib; }