private void BindData() { long schemeID = _Convert.StrToLong(Utility.GetRequest("id"), -1L); if (schemeID < 0L) { PF.GoError(1, "参数错误", base.GetType().FullName); } else { DataTable table = new Tables.T_Schemes().Open("InitiateUserID,LotteryNumber", "SiteID = " + base._Site.ID.ToString() + " and [ID] = " + schemeID.ToString(), ""); if (table == null) { PF.GoError(4, "数据库繁忙,请重试", base.GetType().FullName); } else if (table.Rows.Count < 1) { PF.GoError(1, "参数错误", base.GetType().FullName); } else { _Convert.StrToLong(table.Rows[0]["InitiateUserID"].ToString(), -1L); if ((base._User != null) && !base._User.isCanViewSchemeContent(schemeID)) { PF.GoError(1, "对不起,您不在此方案的招股对象之内。", base.GetType().FullName); } else { string sourceStr = table.Rows[0]["LotteryNumber"].ToString(); base.Response.Write((sourceStr == "") ? "未找到相关数据。" : (_Convert.ToHtmlCode(sourceStr) + " ")); base.Response.End(); } } } }
protected void btnGO_Click(object sender, EventArgs e) { string str = Utility.FilteSqlInfusion(this.tbSchemeNumber.Text.Trim()); if (str == "") { JavaScript.Alert(this.Page, "请输入方案号。"); } else { DataTable table = new Tables.T_Schemes().Open("", "SchemeNumber='" + str + "'", ""); if (table == null) { PF.GoError(4, "数据库繁忙,请重试", "Admin_UploadWinLotteryImage"); } else if (table.Rows.Count < 1) { JavaScript.Alert(this.Page, "方案号不存在。"); } else { DataRow row = table.Rows[0]; if (!_Convert.StrToBool(row["Buyed"].ToString(), false)) { JavaScript.Alert(this.Page, "该方案号没有出票。"); } else if (Shove._IO.File.UploadFile(this.Page, this.fileImage, "../Temp/", "SchemeWinImage" + str + ".jpg", true, "image") < 0) { JavaScript.Alert(this.Page, "文件上传错误。"); } else { string path = base.Server.MapPath("../Temp/SchemeWinImage" + str + ".jpg"); byte[] buffer = System.IO.File.ReadAllBytes(path); System.IO.File.Delete(path); if (buffer == null) { JavaScript.Alert(this.Page, "文件格式错误。"); } else { MSSQL.ExecuteNonQuery("update T_Schemes set WinImage = @p1 where [SchemeNumber] = @p2", new MSSQL.Parameter[] { new MSSQL.Parameter("p1", SqlDbType.VarChar, 0, ParameterDirection.Input, buffer), new MSSQL.Parameter("p2", SqlDbType.VarChar, 0, ParameterDirection.Input, str) }); JavaScript.Alert(this.Page, "文件上传成功!"); } } } } }
protected void btnGO_Click(object sender, EventArgs e) { this.tbWinNumber.Text = _Convert.ToDBC(this.tbWinNumber.Text.Trim().Replace(" ", " ")).Trim(); if (!new Lottery()[int.Parse(this.ddlLottery.SelectedValue)].AnalyseWinNumber(this.tbWinNumber.Text)) { JavaScript.Alert(this.Page, "开奖号码不正确!"); } else { double[] winMoneyList = new double[this.g.Rows.Count * 2]; for (int i = 0; i < this.g.Rows.Count; i++) { winMoneyList[i * 2] = _Convert.StrToDouble(((TextBox)this.g.Rows[i].Cells[1].FindControl("tbMoney")).Text, 0.0); winMoneyList[(i * 2) + 1] = _Convert.StrToDouble(((TextBox)this.g.Rows[i].Cells[2].FindControl("tbMoneyNoWithTax")).Text, 0.0); if (winMoneyList[i * 2] < 0.0) { JavaScript.Alert(this.Page, "第 " + ((i + 1)).ToString() + " 项奖金输入错误!"); return; } } Tables.T_Schemes schemes = new Tables.T_Schemes(); DataTable table = schemes.Open("", "IsuseID = " + this.ddlIsuse.SelectedValue + " and isOpened = 1", ""); if (table == null) { PF.GoError(4, "数据库繁忙,请重试", base.GetType().BaseType.FullName); } else { for (int j = 0; j < table.Rows.Count; j++) { string number = table.Rows[j]["LotteryNumber"].ToString(); string description = ""; double winMoneyNoWithTax = 0.0; double num5 = new Lottery()[int.Parse(this.ddlLottery.SelectedValue)].ComputeWin(number, this.tbWinNumber.Text.Trim(), ref description, ref winMoneyNoWithTax, int.Parse(table.Rows[j]["PlayTypeID"].ToString()), winMoneyList); int num6 = _Convert.StrToInt(table.Rows[j]["Multiple"].ToString(), 1); schemes.PreWinMoney.Value = num5 * num6; schemes.PreWinMoneyNoWithTax.Value = num5 * num6; schemes.WinDescription.Value = description; schemes.Update("[ID] = " + table.Rows[j]["ID"].ToString()); } JavaScript.Alert(this.Page, "重构中奖描述成功。"); } } }
private void IsuseOpenNotice(string Transmessage) { XmlDocument document = new XmlDocument(); XmlNodeList elementsByTagName = null; XmlNodeList list2 = null; XmlNodeList list3 = null; try { document.Load(new StringReader(Transmessage)); elementsByTagName = document.GetElementsByTagName("*"); list2 = document.GetElementsByTagName("bonusItem"); list3 = document.GetElementsByTagName("issue"); } catch { } if (elementsByTagName != null) { string winNumber = ""; for (int i = 0; i < elementsByTagName.Count; i++) { if ((elementsByTagName[i].Name.ToUpper() == "BODY") && (elementsByTagName[i].FirstChild.Name.ToUpper() == "BONUSNOTIFY")) { winNumber = elementsByTagName[i].FirstChild.Attributes["bonusNumber"].InnerText; } } if (list3 == null) { base.Response.End(); } else { string messageID = elementsByTagName[0].Attributes["id"].Value; string input = list3[0].Attributes["number"].Value; string lotteryName = list3[0].Attributes["gameName"].Value; int LotteryID = this.GetLotteryID(lotteryName); string str5 = this.GetWinNumber(LotteryID, winNumber); DataTable table = new Tables.T_Isuses().Open("", " [Name] = '" + Utility.FilteSqlInfusion(input) + "' and LotteryID = " + LotteryID.ToString() + " and IsOpened = 0", ""); if ((table == null) || (table.Rows.Count < 1)) { base.Response.End(); } else { string str = table.Rows[0]["ID"].ToString(); new Tables.T_Isuses { WinLotteryNumber = { Value = str5 }, OpenOperatorID = { Value = 1 } }.Update(" ID = " + str); int returnValue = 0; string returnDescription = ""; if (LotteryID == 0x3e) { DataTable table2 = new Tables.T_WinTypes().Open("", " LotteryID =" + LotteryID.ToString(), ""); if ((table2 != null) && (table2.Rows.Count > 0)) { double[] winMoneyList = new double[table2.Rows.Count * 2]; double num3 = 0.0; double num4 = 0.0; for (int j = 0; j < table2.Rows.Count; j++) { num3 = _Convert.StrToDouble(table2.Rows[j]["DefaultMoney"].ToString(), 0.0); num4 = _Convert.StrToDouble(table2.Rows[j]["DefaultMoneyNoWithTax"].ToString(), 0.0); winMoneyList[j * 2] = (num3 == 0.0) ? 1.0 : num4; winMoneyList[(j * 2) + 1] = (num4 == 0.0) ? 1.0 : num4; } DataTable table3 = new Tables.T_Schemes().Open("", "IsuseID = " + str + " and WinMoney = 0 and Buyed = 1 and BuyOperatorID = 132011", ""); string number = ""; Lottery.LotteryBase base2 = new Lottery()[LotteryID]; string description = ""; double winMoneyNoWithTax = 0.0; for (int k = 0; k < table3.Rows.Count; k++) { number = table3.Rows[k]["LotteryNumber"].ToString(); description = ""; winMoneyNoWithTax = 0.0; double num8 = base2.ComputeWin(number, str5.Trim(), ref description, ref winMoneyNoWithTax, int.Parse(table3.Rows[k]["PlayTypeID"].ToString()), winMoneyList); if (num8 > 0.0) { MSSQL.ExecuteNonQuery("update T_Schemes set PreWinMoney = @p1, PreWinMoneyNoWithTax = @p2, WinMoney = @p3, WinMoneyNoWithTax = @p4, WinDescription = @p5 where [ID] = " + table3.Rows[k]["ID"].ToString(), new MSSQL.Parameter[] { new MSSQL.Parameter("p1", SqlDbType.Money, 0, ParameterDirection.Input, num8 * _Convert.StrToInt(table3.Rows[k]["Multiple"].ToString(), 1)), new MSSQL.Parameter("p2", SqlDbType.Money, 0, ParameterDirection.Input, winMoneyNoWithTax * _Convert.StrToInt(table3.Rows[k]["Multiple"].ToString(), 1)), new MSSQL.Parameter("p3", SqlDbType.Money, 0, ParameterDirection.Input, num8 * _Convert.StrToInt(table3.Rows[k]["Multiple"].ToString(), 1)), new MSSQL.Parameter("p4", SqlDbType.Money, 0, ParameterDirection.Input, winMoneyNoWithTax * _Convert.StrToInt(table3.Rows[k]["Multiple"].ToString(), 1)), new MSSQL.Parameter("p5", SqlDbType.VarChar, 0, ParameterDirection.Input, description) }); } } } } string bonusXML = "<Schemes>"; string agentBonusXML = "<Schemes>"; if ((list2 != null) && (list2.Count > 0)) { string s = Transmessage.Substring(Transmessage.IndexOf("<bonusNotify"), Transmessage.LastIndexOf("</body>") - Transmessage.IndexOf("<bonusNotify")); DataSet set = new DataSet(); try { set.ReadXml(new StringReader(s)); } catch (Exception exception) { new Log(@"ElectronTicket\HPSD").Write("电子票开奖,第 " + input + " 期解析开奖数据错误:" + exception.Message); base.Response.End(); return; } if ((set == null) || (set.Tables.Count < 3)) { new Log(@"ElectronTicket\HPSD").Write("电子票开奖,第 " + input + " 期开奖数据格式不符合要求。"); base.Response.End(); return; } DataTable source = set.Tables[2]; DataTable table5 = MSSQL.Select("SELECT SchemeID, AgentID, SchemesMultiple as Multiple, Identifiers FROM V_ElectronTicketAgentSchemesSendToCenter WHERE (IsuseID = " + str + ") UNION ALL SELECT SchemeID, 0 AS AgentID, SchemesMultiple as Multiple, Identifiers FROM V_SchemesSendToCenter WHERE (IsuseID = " + str + ")", new MSSQL.Parameter[0]); if (table5 == null) { new Log(@"ElectronTicket\HPSD").Write("电子票开奖,第 " + input + " 期,读取本地方案错误。"); base.Response.End(); return; } try { foreach (var type in from NewDt in (from NewDt in (from NewDtTickets in source.AsEnumerable() join NewdtScheme in table5.AsEnumerable() on NewDtTickets.Field <string>("ticketID") equals NewdtScheme.Field <string>("Identifiers") //Sum<Package>((Func<Package, double>) (pkg => pkg.Weight)); select new { ID = NewdtScheme.Field <long>("SchemeID"), AgentID = NewdtScheme.Field <long>("AgentID"), Multiple = NewdtScheme.Field <int>("Multiple"), Bonus = _Convert.StrToDouble(NewDtTickets.Field <string>("money"), 0.0), BonusLevel = NewDtTickets.Field <string>("bonusLevel") }).AsQueryable() group NewDt by new { ID = NewDt.ID, BonusLevel = NewDt.BonusLevel, AgentID = NewDt.AgentID, Multiple = NewDt.Multiple } into gg select new { ID = gg.Key.ID, AgentID = gg.Key.AgentID, Multiple = gg.Key.Multiple, Bonus = gg.Sum(NewDt => NewDt.Bonus), BonusLevel = this.GetWinDescription(LotteryID, gg.Key.BonusLevel) }).AsQueryable() group NewDt by new { ID = NewDt.ID, Multiple = NewDt.Multiple, AgentID = NewDt.AgentID } into t_dtSchemes select new { SchemeID = t_dtSchemes.Key.ID, AgentID = t_dtSchemes.Key.AgentID, Multiple = t_dtSchemes.Key.Multiple, Bonus = t_dtSchemes.Sum(NewDt => NewDt.Bonus), BonusLevel = "中奖金额:" + t_dtSchemes.Sum(NewDt => NewDt.Bonus).ToString() + ((t_dtSchemes.Key.Multiple != 1) ? ("(" + t_dtSchemes.Key.Multiple.ToString() + "倍)") : "") }) { string str13; if (type.AgentID == 0L) { str13 = bonusXML; bonusXML = str13 + "<Scheme SchemeID=\"" + type.SchemeID.ToString() + "\" WinMoney=\"" + type.Bonus.ToString() + "\" WinDescription=\"" + type.BonusLevel + "\" />"; } else { str13 = agentBonusXML; agentBonusXML = str13 + "<Scheme SchemeID=\"" + type.SchemeID.ToString() + "\" WinMoney=\"" + type.Bonus.ToString() + "\" WinDescription=\"" + type.BonusLevel + "\" />"; } } } catch (Exception exception2) { new Log(@"ElectronTicket\HPSD").Write("电子票开奖,第 " + input + " 期详细中奖数据解析错误:" + exception2.Message); base.Response.End(); return; } } bonusXML = bonusXML + "</Schemes>"; agentBonusXML = agentBonusXML + "</Schemes>"; table = new Tables.T_Isuses().Open("", "[ID] = " + str + " and IsOpened = 0", ""); if ((table == null) || (table.Rows.Count < 1)) { base.Response.End(); } else { DataSet ds = null; int num11 = 0; int num12 = -1; while ((num12 < 0) && (num11 < 5)) { returnValue = 0; returnDescription = ""; num12 = Procedures.P_ElectronTicketWin(ref ds, _Convert.StrToLong(str, 0L), bonusXML, agentBonusXML, ref returnValue, ref returnDescription); if (num12 < 0) { string[] strArray = new string[] { "电子票第 ", (num11 + 1).ToString(), " 次派奖出现错误(IsuseOpenNotice) 期号为: ", input, ",彩种为: ", LotteryID.ToString() }; new Log(@"ElectronTicket\HPSD").Write(string.Concat(strArray)); num11++; if (num11 < 5) { Thread.Sleep(0x2710); } } } if (returnValue < 0) { new Log(@"ElectronTicket\HPSD").Write("电子票派奖出现错误(IsuseOpenNotice) 期号为: " + input + ",彩种为: " + LotteryID.ToString() + ",错误:" + returnDescription); base.Response.End(); } else { DataTable table6 = new Tables.T_WinTypes().Open("", " LotteryID =" + LotteryID.ToString(), ""); if ((table6 != null) && (table6.Rows.Count > 0)) { double[] numArray2 = new double[table6.Rows.Count * 2]; double num14 = 0.0; double num15 = 0.0; for (int m = 0; m < table6.Rows.Count; m++) { num14 = _Convert.StrToDouble(table6.Rows[m]["DefaultMoney"].ToString(), 0.0); num15 = _Convert.StrToDouble(table6.Rows[m]["DefaultMoneyNoWithTax"].ToString(), 0.0); numArray2[m * 2] = (num14 == 0.0) ? 1.0 : num15; numArray2[(m * 2) + 1] = (num15 == 0.0) ? 1.0 : num15; } DataTable table7 = new Views.V_Schemes().Open("LotteryNumber, PlayTypeID, SiteID, ID, Multiple", " IsuseID = " + str + " and WinMoney = 0 and Buyed = 0", ""); string str14 = ""; Lottery.LotteryBase base3 = new Lottery()[LotteryID]; string str15 = ""; double num17 = 0.0; for (int n = 0; n < table7.Rows.Count; n++) { str14 = table7.Rows[n]["LotteryNumber"].ToString(); str15 = ""; num17 = 0.0; double winMoney = base3.ComputeWin(str14, str5.Trim(), ref str15, ref num17, int.Parse(table7.Rows[n]["PlayTypeID"].ToString()), numArray2); if ((winMoney > 0.0) && (Procedures.P_ChaseTaskStopWhenWin(_Convert.StrToLong(table7.Rows[n]["SiteID"].ToString(), 0L), _Convert.StrToLong(table7.Rows[n]["ID"].ToString(), 0L), winMoney, ref returnValue, ref returnDescription) < 0)) { new Log(@"ElectronTicket\HPSD").Write("执行电子票--判断是否停止追号的时候出现错误"); } } } PF.SendWinNotification(ds); messageID = elementsByTagName[0].Attributes["id"].Value; this.ReNotice(messageID, "508"); } } } } } }
private void BonusQuery(string TransMessage) { XmlDocument document = new XmlDocument(); document.Load(new StringReader(TransMessage)); XmlNodeList elementsByTagName = document.GetElementsByTagName("*"); string winNumber = ""; string input = ""; string gameName = ""; if (elementsByTagName != null) { for (int i = 0; i < elementsByTagName.Count; i++) { if (elementsByTagName[i].Name.ToUpper() == "BONUSQUERYRESULT") { winNumber = elementsByTagName[i].Attributes["bonusNumber"].Value.Replace(",", ""); } if (elementsByTagName[i].Name.ToUpper() == "ISSUE") { input = elementsByTagName[i].Attributes["number"].Value; gameName = elementsByTagName[i].Attributes["gameName"].Value; } } int lotteryID = this.GetLotteryID(gameName); if (lotteryID >= 0) { DataTable table = new Tables.T_Isuses().Open("top 1 *", "LotteryID = " + lotteryID.ToString() + " and [Name] = '" + Utility.FilteSqlInfusion(input) + "' and isOpened = 0 and EndTime < GetDate()", ""); if (table == null) { new Log(@"ElectronTicket\HPCQ").Write("恒朋-重庆电子票网关自动开奖错误,彩种:" + gameName + ",期号:" + input); } else if (table.Rows.Count >= 1) { DataTable table2 = new Tables.T_WinTypes().Open("DefaultMoney, DefaultMoneyNoWithTax", "LotteryID = " + lotteryID.ToString(), "[Order]"); if (table2 == null) { new Log(@"ElectronTicket\HPCQ").Write("恒朋-重庆电子票网关自动开奖错误,彩种:" + gameName + ",期号:" + input); } else { double[] winMoneyList = new double[table2.Rows.Count * 2]; for (int j = 0; j < table2.Rows.Count; j++) { winMoneyList[j * 2] = _Convert.StrToDouble(table2.Rows[j][0].ToString(), 0.0); winMoneyList[(j * 2) + 1] = _Convert.StrToDouble(table2.Rows[j][1].ToString(), 0.0); } DataTable table3 = new Tables.T_Schemes().Open("", "IsuseID = " + table.Rows[0]["ID"].ToString() + " and isOpened = 0", ""); if (table3 == null) { new Log(@"ElectronTicket\HPCQ").Write("恒朋-重庆电子票网关自动开奖错误,彩种:" + gameName + ",期号:" + input); } else { if (table3.Rows.Count > 0) { for (int k = 0; k < table3.Rows.Count; k++) { string number = table3.Rows[k]["LotteryNumber"].ToString(); string description = ""; double winMoneyNoWithTax = 0.0; double num6 = new Lottery()[lotteryID].ComputeWin(number, winNumber, ref description, ref winMoneyNoWithTax, int.Parse(table3.Rows[k]["PlayTypeID"].ToString()), winMoneyList); MSSQL.ExecuteNonQuery("update T_Schemes set PreWinMoney = @p1, PreWinMoneyNoWithTax = @p2, EditWinMoney = @p3, EditWinMoneyNoWithTax = @p4, WinDescription = @p5 where [ID] = " + table3.Rows[k]["ID"].ToString(), new MSSQL.Parameter[] { new MSSQL.Parameter("p1", SqlDbType.Money, 0, ParameterDirection.Input, num6 * _Convert.StrToInt(table3.Rows[k]["Multiple"].ToString(), 1)), new MSSQL.Parameter("p2", SqlDbType.Money, 0, ParameterDirection.Input, winMoneyNoWithTax * _Convert.StrToInt(table3.Rows[k]["Multiple"].ToString(), 1)), new MSSQL.Parameter("p3", SqlDbType.Money, 0, ParameterDirection.Input, num6 * _Convert.StrToInt(table3.Rows[k]["Multiple"].ToString(), 1)), new MSSQL.Parameter("p4", SqlDbType.Money, 0, ParameterDirection.Input, winMoneyNoWithTax * _Convert.StrToInt(table3.Rows[k]["Multiple"].ToString(), 1)), new MSSQL.Parameter("p5", SqlDbType.VarChar, 0, ParameterDirection.Input, description) }); } } DataSet ds = null; PF.SendWinNotification(ds); } } } } } }