private void Inint() { int lid = 1; if (!int.TryParse(Request.QueryString["lotteryid"], out lid)) { Response.End(); return; } if (!int.TryParse(Request.QueryString["issuecount"], out topValue)) { topValue = 30; } string btimes = Request.QueryString["starttime"]; string etimes = Request.QueryString["endtime"]; DateTime?outBegin = null; DateTime?outEnd = null; DateTime begin; DateTime end; if (DateTime.TryParse(btimes, out begin)) { outBegin = begin; } if (DateTime.TryParse(etimes, out end)) { outEnd = end; } ILotteryIssueService issueService = IoC.Resolve <ILotteryIssueService>(); var result = issueService.GetHisIssue(lid, topValue, outBegin, outEnd).OrderBy(x => x.EndTime); StringBuilder builer = new StringBuilder(); //构建head int minNum = 0; int maxNum = 6; string testOpenResult = "0,1,2,3,4"; switch (lid) { case 22: //快三 minNum = 1; maxNum = 6; testOpenResult = "3,4,5"; isThree = "k3"; break; case 8: //上海时时乐 case 7: //福彩3d // case 9://排列3/5 minNum = 0; maxNum = 9; testOpenResult = "3,4,5"; isThree = "ssl"; break; case 20: //十一选5 case 19: case 18: case 17: case 6: minNum = 1; maxNum = 11; isThree = "11x5"; break; case 26: testOpenResult = "01,02,03,04,05,06,07,08,09,10"; minNum = 1; maxNum = 10; isThree = "pk10"; break; default: minNum = 0; maxNum = 9; isThree = "ssc"; break; } if (lid == 26) { this.BuilderPk10(builer, testOpenResult, result); this.ContentStr = builer.ToString(); return; } BuilderHead(builer, testOpenResult, minNum, maxNum); //头部 BuilderTitle(builer, testOpenResult, minNum, maxNum); //num List <ResultEntity> statResult = new List <ResultEntity>(); foreach (var res in result) { if (!string.IsNullOrEmpty(res.Result)) { var repResult = res.Result.Split(',').Select(x => Convert.ToInt32(x)).ToArray(); int resLen = repResult.Length; ResultEntity entity = new ResultEntity(); entity._1 = repResult[0]; entity._2 = repResult[1]; entity._3 = repResult[2]; if (resLen == 5) { //开奖数字为5位数 entity._4 = repResult[3]; entity._5 = repResult[4]; } else { //开奖数为3位数 entity._4 = -1; entity._5 = -1; } statResult.Add(entity); } BuilderContent(res.IssueCode, res.Result, builer, minNum, maxNum); } BuilderAvgNum(testOpenResult, minNum, maxNum, builer, statResult); //出现次数 BuilderTitle(builer, testOpenResult, minNum, maxNum, false); //num BuilderHead(builer, testOpenResult, minNum, maxNum, false); //头部 this.ContentStr = builer.ToString(); }
/// <summary> /// 构建头部 /// </summary> /// <param name="builder"></param> /// <param name="minNum"></param> /// <param name="maxNum"></param> private void BuilderPk10(StringBuilder builder, string openResult, IOrderedEnumerable <LotteryIssue> result) { int len = openResult.Split(',').Length; int colSpan = 10; builder.Append("<tr id=\"title\">"); builder.Append("<td rowspan=\"2\"><strong>期号</strong></td>"); builder.Append("<td rowspan=\"2\" colspan=\"" + colSpan + "\" class=\"redtext\"><strong>开奖号码</strong></td>"); builder.Append("<td colspan=\"" + colSpan + "\"><strong>冠军</strong></td>"); builder.Append("<td colspan=\"" + colSpan + "\"><strong>亚军</strong></td>"); builder.Append("<td colspan=\"" + colSpan + "\"><strong>季军</strong></td>"); builder.Append("<td colspan=\"" + colSpan + "\"><strong>第四名</strong></td>"); builder.Append("<td colspan=\"" + colSpan + "\"><strong>第五名</strong></td>"); builder.Append("<td colspan=\"" + colSpan + "\"><strong>第六名</strong></td>"); builder.Append("<td colspan=\"" + colSpan + "\"><strong>第七名</strong></td>"); builder.Append("<td colspan=\"" + colSpan + "\"><strong>第八名</strong></td>"); builder.Append("<td colspan=\"" + colSpan + "\"><strong>第九名</strong></td>"); builder.Append("<td colspan=\"" + colSpan + "\"><strong>第十名</strong></td>"); builder.Append("</tr>"); builder.Append("<tr id=\"head\">"); // builder.Append("<td rowspan=\"2\"><strong>期号</strong></td>"); // builder.Append("<td rowspan=\"2\" colspan=\"" + len + "\" class=\"redtext\"><strong>开奖号码</strong></td>"); for (var j = 0; j < len; j++) { for (var i = 1; i <= 10; i++) { builder.Append("<td class=\"wdh\" align=\"center\"><strong>" + i + "</strong></td>"); } } builder.Append("</tr>"); List <ResultEntity> statResult = new List <ResultEntity>(); foreach (var res in result) { if (!string.IsNullOrEmpty(res.Result)) { var repResult = res.Result.Split(',').Select(x => Convert.ToInt32(x)).ToArray(); int resLen = repResult.Length; ResultEntity entity = new ResultEntity(); entity._1 = repResult[0]; entity._2 = repResult[1]; entity._3 = repResult[2]; if (resLen == 5) { //开奖数字为5位数 entity._4 = repResult[3]; entity._5 = repResult[4]; } else if (resLen == 10) { entity._4 = repResult[3]; entity._5 = repResult[4]; entity._6 = repResult[5]; entity._7 = repResult[6]; entity._8 = repResult[7]; entity._9 = repResult[8]; entity._10 = repResult[9]; } else { //开奖数为3位数 entity._4 = -1; entity._5 = -1; } statResult.Add(entity); } BuilderContent(res.IssueCode, res.Result, builder, 1, 10); } /**平均遗漏*/ int rowSpan = len; StringBuilder yilouBuilder = new StringBuilder(); builder.Append("<tr>"); builder.Append("<td nowrap>出现总次数</td>"); builder.Append("<td align=\"center\" colspan=\"" + rowSpan + "\"> </td>"); var opens = statResult; var fs = opens.FirstOrDefault(); if (fs != null) { //万位 var _1 = opens.GroupBy(x => x._1).Select(v => new ResultEntity { _1 = v.Key, _2 = v.Count() }); BuilderAvgItem(1, 10, _1, builder, yilouBuilder); //千位 var _2 = opens.GroupBy(x => x._2).Select(v => new ResultEntity { _1 = v.Key, _2 = v.Count() }); BuilderAvgItem(1, 10, _2, builder, yilouBuilder); //百位 var _3 = opens.GroupBy(x => x._3).Select(v => new ResultEntity { _1 = v.Key, _2 = v.Count() }); BuilderAvgItem(1, 10, _3, builder, yilouBuilder); //5位开奖数字 十位 var _4 = opens.GroupBy(x => x._4).Select(v => new ResultEntity { _1 = v.Key, _2 = v.Count() }); BuilderAvgItem(1, 10, _4, builder, yilouBuilder); //个位 var _5 = opens.GroupBy(x => x._5).Select(v => new ResultEntity { _1 = v.Key, _2 = v.Count() }); BuilderAvgItem(1, 10, _5, builder, yilouBuilder); // var _6 = opens.GroupBy(x => x._6).Select(v => new ResultEntity { _1 = v.Key, _2 = v.Count() }); BuilderAvgItem(1, 10, _6, builder, yilouBuilder); // var _7 = opens.GroupBy(x => x._7).Select(v => new ResultEntity { _1 = v.Key, _2 = v.Count() }); BuilderAvgItem(1, 10, _7, builder, yilouBuilder); // var _8 = opens.GroupBy(x => x._8).Select(v => new ResultEntity { _1 = v.Key, _2 = v.Count() }); BuilderAvgItem(1, 10, _8, builder, yilouBuilder); // var _9 = opens.GroupBy(x => x._9).Select(v => new ResultEntity { _1 = v.Key, _2 = v.Count() }); BuilderAvgItem(1, 10, _9, builder, yilouBuilder); // var _10 = opens.GroupBy(x => x._10).Select(v => new ResultEntity { _1 = v.Key, _2 = v.Count() }); BuilderAvgItem(1, 10, _10, builder, yilouBuilder); } builder.Append("</tr>"); /**平均遗漏*/ builder.Append("<tr>"); builder.Append("<td nowrap>平均遗漏</td>"); builder.Append("<td align=\"center\" colspan=\"" + rowSpan + "\"> </td>"); builder.Append(yilouBuilder.ToString()); builder.Append("</tr>"); /**平均遗漏*/ BuilderTitle(builder, openResult, 1, 10, false);//num //BuilderHead(builder, openResult, 1, 10, false);//头部 builder.Append("<tr id=\"title\">"); // builder.Append("<td rowspan=\"2\"><strong>期号</strong></td>"); // builder.Append("<td rowspan=\"2\" colspan=\"" + colSpan + "\" class=\"redtext\"><strong>开奖号码</strong></td>"); builder.Append("<td colspan=\"" + colSpan + "\"><strong>冠军</strong></td>"); builder.Append("<td colspan=\"" + colSpan + "\"><strong>亚军</strong></td>"); builder.Append("<td colspan=\"" + colSpan + "\"><strong>季军</strong></td>"); builder.Append("<td colspan=\"" + colSpan + "\"><strong>第四名</strong></td>"); builder.Append("<td colspan=\"" + colSpan + "\"><strong>第五名</strong></td>"); builder.Append("<td colspan=\"" + colSpan + "\"><strong>第六名</strong></td>"); builder.Append("<td colspan=\"" + colSpan + "\"><strong>第七名</strong></td>"); builder.Append("<td colspan=\"" + colSpan + "\"><strong>第八名</strong></td>"); builder.Append("<td colspan=\"" + colSpan + "\"><strong>第九名</strong></td>"); builder.Append("<td colspan=\"" + colSpan + "\"><strong>第十名</strong></td>"); builder.Append("</tr>"); }