internal static void smethod_0(Class581 A_0, ParagraphFormat A_1, CharacterFormat A_2, Class584 A_3) { object obj2 = A_1.method_31(0x465); A_1.method_71(0x465); object obj3 = A_1.method_31(0x62c); A_1.method_71(0x62c); ParagraphFormat format = (ParagraphFormat)A_1.method_23(); A_1.ClearFormatting(); Class924.smethod_0(A_0, A_1, A_2); bool flag = A_1.method_31(0x3e8) != null; bool flag2 = format.method_31(0x3e8) != null; if (flag && !flag2) { format.SetAttr(0x3e8, format.method_31(0x3e8)); } if (obj2 != null) { A_1.SetAttr(0x465, obj2); } if (obj3 != null) { A_1.SetAttr(0x62c, obj3); } }
protected void btnGenerateReport_Click(object sender, EventArgs e) { DateTime startDate = DateTime.Now; DateTime endDate = DateTime.Now; ListItem customerItem = this.ddlCustomerID.SelectedItem; ListItem reportItem = this.ddlReportType.SelectedItem; int customerId = int.Parse(customerItem.Value); int currentNumber = 0; int totalNumber = 0; string reportType = this.ddlReportType.SelectedValue; string news_ids = this.hideSelectedIDs.Value; using (var context = new ReportContext()) { int reportTypeId = int.Parse(reportType); var entity = context.ReportNumbers.FirstOrDefault(a => a.CustomerID == customerId && a.ReportTypeId == reportTypeId); if (entity != null) { currentNumber = entity.CurrentNumber.Value; totalNumber = entity.TotalNumber.Value; } } switch (reportItem.Value) { case "1": //日报 startDate = DateTime.Now; break; case "2": //周报 startDate = DateTime.Now.AddDays(-7); break; case "3": //旬报 startDate = DateTime.Now.AddDays(-10); break; case "4": //半月报 startDate = DateTime.Now.AddDays(-15); break; case "5": //月报 startDate = DateTime.Now.AddDays(-30); break; case "6": //季度报 startDate = DateTime.Now.AddDays(-90); break; case "7": //年报 startDate = DateTime.Now.AddYears(-1); break; } string reportType1 = string.Empty; switch (reportItem.Text) { case "日报": reportType1 = "一日"; break; case "周报": reportType1 = "一周"; break; case "旬报": reportType1 = "旬度"; break; case "半月报": reportType1 = "半月"; break; case "月报": reportType1 = "月度"; break; } string Subsidiary = string.Empty; using (var context = new ReportContext()) { var yesExists = context.Subsidiaries.Any(s => s.CustomerID == customerId); if (yesExists == true) { Subsidiary = "及其权属企业"; } } StringBuilder areaBuilder = new StringBuilder(); using (var context = new ChartContext()) { string pngPath = this.txtPath0.Text.Trim(); if (!string.IsNullOrEmpty(pngPath)) { var gather = context.Gathers.FirstOrDefault(a => a.PngFilePath == pngPath); if (gather != null) { var entities = gather.GatherQuantities; var sensitives = entities.Where(a => a.SensitiveNumber > 0).Select(a => a.ChannelName); int i = 0; foreach (var entity in sensitives) { i++; if (i == sensitives.Count()) { areaBuilder.AppendFormat("和{0}", entity); } else { areaBuilder.AppendFormat("、{0}", entity); } } } } } string area = areaBuilder.ToString().TrimStart('、'); Document document = new Document(Server.MapPath("~/template_files/week_report.doc")); DocumentBuilder docBuilder = new DocumentBuilder(document); document.Range.Replace("{Company}", customerItem.Text, false, false); document.Range.Replace("{Subsidiary}", Subsidiary, false, false); document.Range.Replace("{ReportType}", reportItem.Text, false, false); document.Range.Replace("{area}", area, false, false); document.Range.Replace("{year}", DateTime.Now.ToString("yyyy"), false, false); document.Range.Replace("{month}", DateTime.Now.ToString("MM"), false, false); document.Range.Replace("{day}", DateTime.Now.ToString("dd"), false, false); document.Range.Replace("{number1}", currentNumber.ToString(), false, false); document.Range.Replace("{number2}", totalNumber.ToString(), false, false); document.Range.Replace("{ReportType1}", reportType1, false, false); document.Range.Replace("{TypeString}", CommonUtility.ReplaceReportType(reportItem.Text), false, false); document.Range.Replace("{aTypeString}", CommonUtility.ReplaceReportType(reportItem.Text).Replace("本", ""), false, false); int? totalNewsQuanity = 0; int? sensitiveNumber = 0; int? totalHudongCount = 0; int? totalMinganCount = 0; string strText = "均为正面或中性报道"; using (var context = new ChartContext()) { var entity = context.Gathers.FirstOrDefault(a => a.PngFilePath == this.txtPath0.Text); if (entity != null) { var entities = entity.GatherQuantities; totalNewsQuanity = entities.FirstOrDefault(a => a.ChannelName == "新闻").TotalNumber; document.Range.Replace("{news_number}", totalNewsQuanity.ToString(), false, false); sensitiveNumber = entities.FirstOrDefault(a => a.ChannelName == "新闻").SensitiveNumber; if (sensitiveNumber > 0) { strText = String.Format("其中有{0}篇敏感报道。", sensitiveNumber); } document.Range.Replace("{strText}", strText, false, false); totalHudongCount = entities.Where(a => a.ChannelName != "新闻").Select(a => a.TotalNumber).Sum(); document.Range.Replace("{hudong_number}", totalHudongCount.ToString(), false, false); totalMinganCount = entities.Where(a => a.ChannelName != "新闻").Select(a => a.SensitiveNumber).Sum(); document.Range.Replace("{mingan_number}", totalMinganCount.ToString(), false, false); } } //------------------- document.Range.Replace(new Regex("{info_total_pic}"), new ReplaceAndInsertImage(Server.MapPath(this.txtPath0.Text)), false); //本周重点敏感舆情、风险分析研判与处置建议 using (var context = new ReportContext()) { if (!string.IsNullOrEmpty(news_ids)) { var articleIds = news_ids.Split(',').Select(a => int.Parse(a)); var entities = context.Articles.Where(a => a.CustomerID == customerId && articleIds.Contains(a.ID)).OrderByDescending(a => a.Rating).Select(a => a); int i = 0; docBuilder.MoveToMergeField("Content"); foreach (var entity in entities) { i++; if (i == 1) { //插入标题 docBuilder.Writeln(); docBuilder.Font.Name = "楷体_GB2312"; docBuilder.Font.Size = 16; docBuilder.Font.Bold = true; docBuilder.Writeln(String.Format("{0}.{1}", i, entity.Title)); docBuilder.Font.ClearFormatting(); //插入内容 docBuilder.Font.Size = 16; docBuilder.Font.Name = "仿宋_GB2312"; docBuilder.Writeln(entity.Content); docBuilder.Font.ClearFormatting(); //插入链接 docBuilder.Font.Size = 16; docBuilder.Font.Name = "仿宋_GB2312"; docBuilder.Write(" 网址链接:"); docBuilder.Font.ClearFormatting(); docBuilder.Font.Color = Color.Blue; docBuilder.Font.Size = 10; docBuilder.Font.Name = "仿宋"; docBuilder.Font.Underline = Underline.Single; ParagraphFormat paragraphFormat = docBuilder.ParagraphFormat; paragraphFormat.Alignment = ParagraphAlignment.Center; docBuilder.InsertHyperlink(entity.Url, entity.Url, false); paragraphFormat.ClearFormatting(); docBuilder.Font.ClearFormatting(); docBuilder.Font.Name = "仿宋_GB2312"; docBuilder.Font.Size = 16; docBuilder.Writeln(); docBuilder.Writeln(String.Format(" 风险分析研判:{0}", entity.JudgeContent)); docBuilder.Write(" 舆情星级:"); docBuilder.Font.ClearFormatting(); //插入舆情星级 docBuilder.Font.Name = "仿宋_GB2312"; docBuilder.Font.Size = 16; docBuilder.Font.Color = Color.Red; docBuilder.Writeln("★".Repeat(entity.Rating.Value)); docBuilder.Font.ClearFormatting(); //插入处置建议 docBuilder.Font.Name = "仿宋_GB2312"; docBuilder.Font.Size = 16; docBuilder.Write(String.Format(" 处置建议:{0}", entity.SuggestContent));; docBuilder.Font.ClearFormatting(); } else { //插入标题 docBuilder.Writeln(); docBuilder.Font.Name = "楷体_GB2312"; docBuilder.Font.Size = 16; docBuilder.Font.Bold = true; docBuilder.Writeln(" " + String.Format("{0}.{1}", i, entity.Title)); docBuilder.Font.ClearFormatting(); //插入内容 docBuilder.Font.Size = 16; docBuilder.Font.Name = "仿宋_GB2312"; docBuilder.Writeln(" " + entity.Content); docBuilder.Font.ClearFormatting(); //插入图片 if (!string.IsNullOrEmpty(entity.ScreenshotsPath)) { FileInfo fileInfo = new FileInfo(Server.MapPath(entity.ScreenshotsPath)); if (fileInfo.Exists) { docBuilder.InsertImage(Server.MapPath(entity.ScreenshotsPath), RelativeHorizontalPosition.Margin, 1, RelativeVerticalPosition.Default, 10, 430, 220, WrapType.Square); } } //插入链接 docBuilder.Font.Size = 16; docBuilder.Font.Name = "仿宋_GB2312"; docBuilder.Write(" 网址链接:"); docBuilder.Font.ClearFormatting(); docBuilder.Font.Color = Color.Blue; docBuilder.Font.Size = 10; docBuilder.Font.Name = "仿宋"; docBuilder.Font.Underline = Underline.Single; ParagraphFormat paragraphFormat = docBuilder.ParagraphFormat; paragraphFormat.Alignment = ParagraphAlignment.Center; docBuilder.InsertHyperlink(entity.Url, entity.Url, false); paragraphFormat.ClearFormatting(); docBuilder.Font.ClearFormatting(); docBuilder.Font.Name = "仿宋_GB2312"; docBuilder.Font.Size = 16; docBuilder.Writeln(); docBuilder.Writeln(String.Format(" 风险分析研判:{0}", entity.JudgeContent)); docBuilder.Write(" 舆情星级:"); docBuilder.Font.ClearFormatting(); //插入舆情星级 docBuilder.Font.Name = "仿宋_GB2312"; docBuilder.Font.Size = 16; docBuilder.Font.Color = Color.Red; docBuilder.Writeln("★".Repeat(entity.Rating.Value)); docBuilder.Font.ClearFormatting(); //插入处置建议 docBuilder.Font.Name = "仿宋_GB2312"; docBuilder.Font.Size = 16; docBuilder.Write(String.Format(" 处置建议:{0}", entity.SuggestContent));; docBuilder.Font.ClearFormatting(); } } } } docBuilder.MoveToMergeField("DistributeContent"); docBuilder.Write(this.txtDistributeSummary.Text.Trim().Replace("#", "")); if (!string.IsNullOrEmpty(this.txtPath10.Text.Trim())) { docBuilder.InsertImage(Server.MapPath(txtPath10.Text.Trim()), RelativeHorizontalPosition.Default, 1, RelativeVerticalPosition.Default, 10, 430, 220, WrapType.Square); } document.Range.Replace(new Regex("{NextWeekWarning_Pic}"), new ReplaceAndInsertImage(Server.MapPath(this.txtPath11.Text)), false); document.Range.Replace("{NextWeekMinganValue}", this.ddlNextWeekMinganValue.SelectedValue, false, false); document.Range.Replace("{NextWeekSustainNumber}", this.txtNextWeekSustainNumber.Text, false, false); docBuilder.MoveToMergeField("Questions"); int b = 0; docBuilder.Font.Size = 16; docBuilder.Font.Name = "仿宋_GB2312"; docBuilder.Writeln(); foreach (ListItem item in this.lstWarningList.Items) { b++; if (item.Value != item.Text) { string str = String.Format("{0}.{1}", b, item.Value); docBuilder.Font.Size = 16; docBuilder.Font.Name = "仿宋_GB2312"; docBuilder.Font.Bold = true; docBuilder.Writeln(str); docBuilder.Font.ClearFormatting(); if (b == this.lstWarningList.Items.Count) { docBuilder.Font.Size = 16; docBuilder.Font.Name = "仿宋_GB2312"; docBuilder.Write(item.Text.Trim()); docBuilder.Font.ClearFormatting(); } else { docBuilder.Font.Size = 16; docBuilder.Font.Name = "仿宋_GB2312"; docBuilder.Writeln(item.Text.Trim()); docBuilder.Font.ClearFormatting(); } } else { if (b == this.lstWarningList.Items.Count) { docBuilder.Font.Size = 16; docBuilder.Font.Name = "仿宋_GB2312"; docBuilder.Write(String.Format("{0}.{1}", b, item.Value)); docBuilder.Font.ClearFormatting(); } else { docBuilder.Font.Size = 16; docBuilder.Font.Name = "仿宋_GB2312"; docBuilder.Writeln(String.Format("{0}.{1}", b, item.Value)); docBuilder.Font.ClearFormatting(); } } } document.Range.Replace(new Regex("{week_pic}"), new ReplaceAndInsertImage(Server.MapPath(this.txtPath1.Text)), false); document.Range.Replace("{lowExponent}", this.txtLowExponent.Value, false, false); document.Range.Replace("{heightExponent}", this.txtHeightExponent.Value, false, false); document.Range.Replace("{avgExponent}", this.txtAvgExponent.Value, false, false); document.Range.Replace("{startMonth}", this.txtStartMonth.Value, false, false); document.Range.Replace("{startDay}", this.txtStartdDay.Value, false, false); document.Range.Replace("{lowNumber}", this.txtLowNumber.Value, false, false); document.Range.Replace("{endMonth}", this.txtEndMonth.Value, false, false); document.Range.Replace("{endDay}", this.txtEndDay.Value, false, false); document.Range.Replace("{heightNumber}", this.txtHeightNumber.Value, false, false); document.Range.Replace("{trend}", this.ddlTrend.Value, false, false); document.Range.Replace(new Regex("{attention_pic}"), new ReplaceAndInsertImage(Server.MapPath(this.txtPath2.Text), 410, 307), false); document.Range.Replace("{total_AttentionNumber}", this.txtTotal_AttentionNumber.Value, false, false); document.Range.Replace("{mobile_AttentNumber}", this.txtMobile_AttentionNumber.Value, false, false); document.Range.Replace("{total_FloatingType}", this.ddlTotal_FloatingType.Value, false, false); document.Range.Replace("{total_AttentionPercent}", this.txtTotal_AttentionPercent.Value, false, false); document.Range.Replace("{mobile_FloatingType}", this.ddlMobile_FloatingType.Value, false, false); document.Range.Replace("{mobile_AttentionPercent}", this.txtMobile_AttentionPercent.Value, false, false); StringBuilder cityBuilder = new StringBuilder(); foreach (ListItem item in this.lstAttentionCities.Items) { cityBuilder.AppendFormat("{0}、", item.Value); } string cities = cityBuilder.ToString().TrimEnd('、'); document.Range.Replace("{cities}", cities, false, false); string fileName = String.Format("{0}网络舆情{1}第{2}期.doc", customerItem.Text, reportItem.Text, currentNumber.ToString()); StringBuilder questionsBuilder = new StringBuilder(); foreach (ListItem item in this.lstWarningList.Items) { questionsBuilder.AppendFormat("{0},{1}|", item.Value, item.Text); } string questions = questionsBuilder.ToString().TrimEnd('|'); using (var context = new ReportContext()) { var report = new Report { ReportName = fileName, CustomerID = int.Parse(customerItem.Value), Company = customerItem.Text, ReportType = reportType, Year = DateTime.Now.ToString("yyyy"), Month = DateTime.Now.ToString("MM"), Day = DateTime.Now.ToString("dd"), CurrentNumber = currentNumber.ToString(), TotalNumber = totalNumber.ToString(), StrText = strText, News_number = totalNewsQuanity, Hudong_number = totalHudongCount, Mingan_number = totalMinganCount, Info_total_pic = this.txtPath0.Text, PriorityArticles = this.hideSelectedIDs.Value, DistributeSummary = this.txtDistributeSummary.Text.Replace("#", ""), Distribute_Pic = this.txtPath10.Text, NextWeekWarning_Pic = this.txtPath11.Text, NextWeekMinganValue = this.ddlNextWeekMinganValue.SelectedValue, NextWeekSustainNumber = int.Parse(this.txtNextWeekSustainNumber.Text), AttentionQuestions = questions, Week_Pic = this.txtPath1.Text, LowExponent = int.Parse(this.txtLowExponent.Value), HeightExponent = int.Parse(this.txtHeightExponent.Value), AvgExponent = int.Parse(this.txtAvgExponent.Value), StartMonth = int.Parse(this.txtStartMonth.Value), StartDay = int.Parse(this.txtStartdDay.Value), LowNumber = int.Parse(this.txtLowNumber.Value), EndMonth = int.Parse(this.txtEndMonth.Value), EndDay = int.Parse(this.txtEndDay.Value), HeightNumber = int.Parse(this.txtHeightNumber.Value), Tend = this.ddlTrend.Value, Attention_Picture = this.txtPath2.Text, Total_AttentionNumber = int.Parse(this.txtTotal_AttentionNumber.Value), Mobile_AttentNumber = int.Parse(this.txtMobile_AttentionNumber.Value), Total_FloatingType = this.ddlTotal_FloatingType.Value, Mobile_FloatingType = this.ddlMobile_FloatingType.Value, Total_AttentionPercent = this.txtTotal_AttentionPercent.Value, Mobile_AttentionPercent = this.txtMobile_AttentionPercent.Value, AttentionCities = cities, AddDate = DateTime.Now, Area = area, Subsidiary = Subsidiary }; context.Reports.Add(report); int reportTypeId = int.Parse(reportType); var entity = context.ReportNumbers.FirstOrDefault(a => a.CustomerID == customerId && a.ReportTypeId == reportTypeId); if (entity != null) { entity.CurrentNumber++; entity.TotalNumber++; context.SaveChanges(); } try { context.SaveChanges(); } catch (Exception ex) { throw new Exception(ex.Message); } } using (MemoryStream ms = new MemoryStream()) { document.Save(ms, SaveOptions.CreateSaveOptions(SaveFormat.Doc)); Response.ContentType = "application/msword"; Response.AddHeader("content-disposition", "attachment;filename=" + fileName); Response.BinaryWrite(ms.ToArray()); Response.End(); } }