private void BindGrid() { DataSet ds = new XinshuiDAL().GetAllXinshui(); dataGridView1.DataSource = ds.Tables[0]; foreach (DataGridViewRow row in dataGridView1.Rows) { if (row.Index == dataGridView1.Rows.Count - 1) { continue; } if (row.Cells["exclude"].Value.ToString() == "1") { row.DefaultCellStyle.BackColor = Color.Red; } } }
private void btnTouzhu_Click(object sender, EventArgs e) { XinshuiDAL dal = new XinshuiDAL(); double shouyi = Convert.ToDouble(textBox13.Text); double needtowin = shouyi; //从头开始算 DataSet dsXinshui = new XinshuiDAL().GetValidXinshui(); foreach(DataRow row in dsXinshui.Tables[0].Rows){ int beishu = Convert.ToInt32(row["beishu"]); //如果倍数为0,说明该条记录未开奖过 if (beishu == 0) { //如果为空,说明当前行没有进行过投注,需要投注,投注需要获取赔率,获取以前行的投注记录 string bianhao1 = row["bianhao1"].ToString(); string bianhao2 = row["bianhao2"].ToString(); string rangqiushu1 = row["rangqiushu1"].ToString(); string rangqiushu2 = row["rangqiushu2"].ToString(); string result1 = row["result1"].ToString(); string result2 = row["result2"].ToString(); string riqi = row["riqi"].ToString(); int id = Convert.ToInt32(row["id"].ToString()); string realresult1 = ""; string realresult2 = ""; string realresultsp1 = ""; string realresultsp2 = ""; string touzhusp1 = ""; string touzhusp2 = ""; //获取赔率 DataSet ds = dal.GetPeilv(riqi, bianhao1); DataSet ds2 = dal.GetPeilv(riqi, bianhao2); List<double> peilv1 = new List<double>(); List<double> peilv2 = new List<double>(); foreach (DataRow peilvrow in ds.Tables[0].Rows) { string rangqiushu = peilvrow["rangqiu"].ToString(); if (rangqiushu == "0" && rangqiushu1 == "0") { foreach (char ch in result1.ToCharArray()) { string spString = "0"; switch(ch) { case '3': spString = peilvrow["shengsp"].ToString(); break; case '1': spString = peilvrow["pingsp"].ToString(); break; case '0': spString = peilvrow["fusp"].ToString(); break; } peilv1.Add(Convert.ToDouble(spString)); } } else if (rangqiushu != "0" && rangqiushu1 != "0") { foreach (char ch in result1.ToCharArray()) { string spString = "0"; switch (ch) { case '3': spString = peilvrow["shengsp"].ToString(); break; case '1': spString = peilvrow["pingsp"].ToString(); break; case '0': spString = peilvrow["fusp"].ToString(); break; } peilv1.Add(Convert.ToDouble(spString)); } } } foreach (DataRow peilvrow in ds2.Tables[0].Rows) { string rangqiushu = peilvrow["rangqiu"].ToString(); if (rangqiushu == "0" && rangqiushu2 == "0") { foreach (char ch in result2.ToCharArray()) { string spString = "0"; switch (ch) { case '3': spString = peilvrow["shengsp"].ToString(); break; case '1': spString = peilvrow["pingsp"].ToString(); break; case '0': spString = peilvrow["fusp"].ToString(); break; } peilv2.Add(Convert.ToDouble(spString)); } } else if (rangqiushu != "0" && rangqiushu2 != "0") { foreach (char ch in result2.ToCharArray()) { string spString = "0"; switch (ch) { case '3': spString = peilvrow["shengsp"].ToString(); break; case '1': spString = peilvrow["pingsp"].ToString(); break; case '0': spString = peilvrow["fusp"].ToString(); break; } peilv2.Add(Convert.ToDouble(spString)); } } } double sp1 = peilv1.Min(); double sp2 = peilv2.Min(); touzhusp1 = sp1.ToString(); touzhusp2 = sp2.ToString(); //这里得修改为result的长度的乘积 //int needBeishu = (int)(shouyi /2/ (sp1 * sp2 - 1)); int needBeishu = (int)(shouyi / 2 / (sp1 * sp2 - peilv1.Count * peilv2.Count)); int touru = needBeishu * peilv1.Count * peilv2.Count * 2; double jiangjin = 0; //获取开奖信息 DataSet kaijiang1 = dal.GetKaijiang(riqi, bianhao1); DataSet kaijiang2 = dal.GetKaijiang(riqi, bianhao2); //如果没有开奖信息则报异常,且退出程序 //这里需要修改一下,不是退出,而是算出一个倍数,然后提示 if (kaijiang1.Tables[0].Rows.Count == 0 || kaijiang2.Tables[0].Rows.Count == 0) { lblRiqi.Text = riqi; lblBeishu.Text = needBeishu.ToString(); lblShouyi.Text = shouyi.ToString(); MessageBox.Show("日期为"+ riqi + "应该投注" + needBeishu + "倍,预期收益为" + shouyi); //riqi //MessageBox.Show("缺少" + riqi + "的开奖信息,请检查数据再操作!"); return; } //获取开奖信息 DataRow kaijiangrow1 = kaijiang1.Tables[0].Rows[0]; DataRow kaijiangrow2 = kaijiang2.Tables[0].Rows[0]; bool zhongjiang1 = false; bool zhongjiang2 = false; if (rangqiushu1 != "0") { string rqspfresult1 = kaijiangrow1["rqspfresult"].ToString(); if(result1.IndexOf(rqspfresult1) != -1){ zhongjiang1 = true; } realresult1 = rqspfresult1; realresultsp1 = kaijiangrow1["rqspfsp"].ToString(); } else { string spfresult1 = kaijiangrow1["spfresult"].ToString(); if(result1.IndexOf(spfresult1) != -1){ zhongjiang1 = true; } realresult1 = spfresult1; realresultsp1 = kaijiangrow1["spfsp"].ToString(); } if (rangqiushu2 != "0") { string rqspfresult2 = kaijiangrow2["rqspfresult"].ToString(); if (result2.IndexOf(rqspfresult2) != -1) { zhongjiang2 = true; } realresult2 = rqspfresult2; realresultsp2 = kaijiangrow2["rqspfsp"].ToString(); } else { string spfresult2 = kaijiangrow2["spfresult"].ToString(); if (result2.IndexOf(spfresult2) != -1) { zhongjiang2 = true; } realresult2 = spfresult2; realresultsp2 = kaijiangrow2["spfsp"].ToString(); } //判断是否中奖,如果没有中奖则要加入收益,作为下一行的收益 int reallucky = 0; if(zhongjiang1 && zhongjiang2) { reallucky = 1; } if (reallucky != 1) { shouyi = shouyi + touru; } else { //如果中奖,则收益reset为原始收益 shouyi = Convert.ToDouble(textBox13.Text); jiangjin = touru * Convert.ToDouble(touzhusp1) * Convert.ToDouble(touzhusp2) /peilv1.Count /peilv2.Count; } //更新当前行数据 Xinshui xinshui = new Xinshui(); xinshui.ID = id; xinshui.Beishu = needBeishu; xinshui.Touru = touru; xinshui.Lucky = reallucky; xinshui.Jiangjin = jiangjin; xinshui.RealResult1 = realresult1; xinshui.RealResult2 = realresult2; xinshui.RealResultSp1 = realresultsp1; xinshui.RealResultSp2 = realresultsp2; xinshui.TouzhuSp1 = touzhusp1; xinshui.TouzhuSp2 = touzhusp2; dal.UpdateXinshui(xinshui); } else { //如果倍数不为空,则说明已经处理过,只需要判断该条记录是否中奖,判断lucky标志,如果lucky为2,则终止,说明有异常数据 int lucky = Convert.ToInt32(row["lucky"].ToString()); if(lucky == 2 || lucky == -1){ MessageBox.Show("有异常数据,请检查数据再执行。"); return; } else if(lucky == 1) { shouyi = Convert.ToDouble(textBox13.Text); } else if(lucky == 0) { int realbeishu = Convert.ToInt32(row["beishu"].ToString()); string result1 = row["result1"].ToString(); string result2 = row["result2"].ToString(); int touru = realbeishu * result1.Length * result2.Length; shouyi = shouyi + touru; } } } MessageBox.Show("自动投注成功!"); }
private void btnReset_Click(object sender, EventArgs e) { XinshuiDAL dal = new XinshuiDAL(); //if (dataGridView1.SelectedRows != null && dataGridView1.SelectedRows.Count > 0) //{ // int xinshuiID = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells[0].Value); // dal.ResetBeishu(xinshuiID); //} //处理多行数据 foreach (DataGridViewRow row in dataGridView1.SelectedRows) { int xinshuiID = Convert.ToInt32(row.Cells[0].Value); dal.ResetBeishu(xinshuiID); } BindGrid(); }
private void btnExclude_Click(object sender, EventArgs e) { XinshuiDAL dal = new XinshuiDAL(); if(dataGridView1.SelectedRows != null && dataGridView1.SelectedRows.Count > 0){ int xinshuiID = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells[0].Value); int exclude = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells["exclude"].Value); if (exclude == 1) { dal.ExcludeXinshui(xinshuiID, 0); } else { dal.ExcludeXinshui(xinshuiID, 1); } } BindGrid(); }
private void btnImport_Click(object sender, EventArgs e) { string url = @"http://zx.aicai.com/zx/zc"; string htmlData = GetHtmlFromUrl(url); htmlData = htmlData.Replace("</option>;","</option>"); HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument(); document.LoadHtml(htmlData); HtmlNode rootNode = document.DocumentNode; HtmlNode zjBackSelect = rootNode.SelectSingleNode(@"//div[@class='zjbackSelect']"); //这里不知道为什么取不到innertext,只能换策略 string selectText = zjBackSelect.InnerText; selectText = selectText.Substring(selectText.IndexOf("战绩回查") + 5).Trim(); string[] options = selectText.Replace("2014"," 2014").Trim().Split(' '); //HtmlNodeCollection options = zjBackSelect.SelectNodes(@"./select/option[@selected='selected']"); HtmlNode tjList = rootNode.SelectSingleNode(@"//div[@class='tjLis']"); HtmlNodeCollection tables = tjList.SelectNodes(@"./table[@class='ke-zeroborder']"); for (int i = 0; i < options.Length; i++) { String option = options[i]; HtmlNode table = tables[i]; //获取相关的记录插入心水推荐 string riqi = DateTime.ParseExact(option, "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd"); HtmlNodeCollection trs = table.SelectNodes(@"./tbody/tr"); HtmlNode tr1 = trs[0]; HtmlNode tr2 = trs[1]; HtmlNodeCollection tds1 = tr1.SelectNodes(@"./td"); HtmlNodeCollection tds2 = tr2.SelectNodes(@"./td"); Xinshui xinshui = new Xinshui(); xinshui.Riqi = riqi; string preBianhao1 = tds1[0].InnerText; xinshui.Bianhao1 = preBianhao1.Substring(preBianhao1.Length - 3); xinshui.Liansai1 = tds1[1].InnerText; xinshui.Zhudui1 = tds1[2].InnerText; xinshui.Rangqiushu1 = tds1[3].InnerText; xinshui.Kedui1 = tds1[4].InnerText; string preResult1 = tds1[5].InnerText; xinshui.Result1 = preResult1.Substring(preResult1.IndexOf(":") + 1); string preBianhao2 = tds2[0].InnerText; xinshui.Bianhao2 = preBianhao2.Substring(preBianhao2.Length - 3); xinshui.Liansai2 = tds2[1].InnerText; xinshui.Zhudui2 = tds2[2].InnerText; xinshui.Rangqiushu2 = tds2[3].InnerText; xinshui.Kedui2 = tds2[4].InnerText; string preResult2 = tds2[5].InnerText; xinshui.Result2 = preResult2.Substring(preResult2.IndexOf(":") + 1); xinshui.Exclude = 0; xinshui.Operator = "自动导入"; xinshui.OperateTime = DateTime.Now; XinshuiDAL dal = new XinshuiDAL(); //增加投注sp1和投注sp2的逻辑 DataSet ds = dal.GetPeilv(riqi, xinshui.Bianhao1); DataSet ds2 = dal.GetPeilv(riqi, xinshui.Bianhao2); dal.InsertXinshuiWhenNotExist(xinshui); } MessageBox.Show("导入成功!"); }
private double GetPeilv(string bianhao,string riqi,string rangqiu,string result) { double peilv = 0.0; DataRow dataRow = null; DataSet ds = new XinshuiDAL().GetPeilv(riqi,bianhao); foreach (DataRow row in ds.Tables[0].Rows) { if (rangqiu == "0" && row["rangqiu"].ToString() == "0") { dataRow = row; } if (rangqiu != "0" && row["rangqiu"].ToString() != "0") { dataRow = row; } } if(dataRow!= null){ switch(result){ case "3": peilv = Convert.ToDouble(dataRow["ShengSp"]); break; case "1": peilv = Convert.ToDouble(dataRow["PingSp"]); break; case "0": peilv = Convert.ToDouble(dataRow["FuSp"]); break; } } return peilv; }
private void btnImportGaopei_Click(object sender, EventArgs e) { //获取心水推荐的数据 XinshuiDAL xinshuidal = new XinshuiDAL(); DataSet dsXinshui = xinshuidal.GetAllXinshui(); //判断多选的结果中哪个的赔率高 foreach (DataRow row in dsXinshui.Tables[0].Rows) { string bianhao1 = row["bianhao1"].ToString(); string bianhao2 = row["bianhao2"].ToString(); string rangqiushu1 = row["rangqiushu1"].ToString(); string rangqiushu2 = row["rangqiushu2"].ToString(); string result1 = row["result1"].ToString(); string result2 = row["result2"].ToString(); string riqi = row["riqi"].ToString(); //如果是单选,则不需要判断,只需要添加即可 Xinshui xinshui = ConvertToXinshui(row); if (result1.Length == 2) { DataSet ds = xinshuidal.GetPeilv(riqi, bianhao1); foreach (DataRow peilvrow in ds.Tables[0].Rows) { string rangqiushu = peilvrow["rangqiu"].ToString(); string sonResult1 = result1.Substring(0, 1); string sonResult2 = result1.Substring(1, 1); if (rangqiushu == "0" && rangqiushu1 == "0" || rangqiushu != "0" && rangqiushu1 != "0") { double peilv1 = GetPeilv(peilvrow, sonResult1); double peilv2 = GetPeilv(peilvrow, sonResult2); if (peilv1 >= peilv2) { xinshui.Result1 = sonResult1; } else { xinshui.Result1 = sonResult2; } } } } if (result2.Length == 2) { DataSet ds2 = xinshuidal.GetPeilv(riqi, bianhao2); foreach (DataRow peilvrow in ds2.Tables[0].Rows) { string rangqiushu = peilvrow["rangqiu"].ToString(); string sonResult1 = result1.Substring(0, 1); string sonResult2 = result1.Substring(1, 1); if (rangqiushu == "0" && rangqiushu2 == "0" || rangqiushu != "0" && rangqiushu2 != "0") { double peilv1 = GetPeilv(peilvrow, sonResult1); double peilv2 = GetPeilv(peilvrow, sonResult2); if (peilv1 >= peilv2) { xinshui.Result2 = sonResult1; } else { xinshui.Result2 = sonResult2; } } } } xinshuidal.InsertXinshuiGaopeiWhenNotExist(xinshui); } //添加到心水推荐高赔表中 MessageBox.Show("导入成功!"); }