private RdlcReportModel GetReportModel() { Assembly assembly = this.GetType().Assembly; RdlcReportModel inst = new RdlcReportModel(); inst.Definition.EmbededReportName = "DMT.TOD.Pages.Reports.RevenueSlipSum.rdlc"; inst.Definition.RdlcInstance = RdlcReportUtils.GetEmbededReport(assembly, inst.Definition.EmbededReportName); // clear reprot datasource. inst.DataSources.Clear(); List <RevenueEntry> items = new List <RevenueEntry>(); if (null != _revenues) { items.AddRange(_revenues); } // assign new data source RdlcReportDataSource mainDS = new RdlcReportDataSource(); mainDS.Name = "main"; // the datasource name in the rdlc report. mainDS.Items = items; // setup data source // Add to datasources inst.DataSources.Add(mainDS); // Add parameters (if required). //DateTime today = DateTime.Now; //string printDate = today.ToThaiDateTimeString("dd/MM/yyyy HH:mm:ss"); //inst.Parameters.Add(RdlcReportParameter.Create("PrintDate", printDate)); return(inst); }
/// <summary> /// Load Report. /// </summary> /// <param name="reportSource">The instance of RdlcReportModel.</param> public void LoadReport(RdlcReportModel reportSource) { rptViewer.LoadReport(reportSource); if (rptViewer.ZoomMode != ZoomMode.PageWidth) { rptViewer.ZoomMode = ZoomMode.PageWidth; } }
/// <summary> /// Load Report. /// </summary> /// <param name="reportSource">The instance of RdlcReportModel.</param> public void LoadReport(RdlcReportModel reportSource) { rptViewer.LoadReport(reportSource); if (rptViewer.ZoomMode != ZoomMode.FullPage) { rptViewer.ZoomMode = ZoomMode.FullPage; } }
/// <summary> /// 根据主报表ID获取rdlc报表列表 /// </summary> /// <param name="reportId"></param> /// <param name="moduleId"></param> /// <param name="checkRole"></param> /// /// <returns></returns> public IList <RdlcReportModel> GetRdlcReportList(long reportId, long moduleId, bool checkRole) { var entList = _rdlcReportRepository.GetAllList(p => p.ReportId == reportId); if (entList != null & entList.Count > 0) { var rdlcReportList = new List <RdlcReportModel>(); //循环rdlc报表,取出其配置信息 foreach (var ent in entList) { RdlcReportModel tb = GetRdlcReport(ent.Id, moduleId, checkRole); rdlcReportList.Add(tb); } return(rdlcReportList); } return(null); }
private RdlcReportModel GetReportModel() { Assembly assembly = this.GetType().Assembly; RdlcReportModel inst = new RdlcReportModel(); inst.Definition.EmbededReportName = "DMT.TOD.Pages.Reports.RevenueSlip.rdlc"; inst.Definition.RdlcInstance = RdlcReportUtils.GetEmbededReport(assembly, inst.Definition.EmbededReportName); // clear reprot datasource. inst.DataSources.Clear(); List <RevenueEntry> items = new List <RevenueEntry>(); if (null != _manager && null != _manager.RevenueEntry) { items.Add(_manager.RevenueEntry); } // assign new data source RdlcReportDataSource mainDS = new RdlcReportDataSource(); mainDS.Name = "main"; // the datasource name in the rdlc report. mainDS.Items = items; // setup data source // Add to datasources inst.DataSources.Add(mainDS); // Add parameters (if required). DateTime today = DateTime.Now; string printDate = today.ToThaiDateTimeString("dd/MM/yyyy HH:mm:ss"); inst.Parameters.Add(RdlcReportParameter.Create("PrintDate", printDate)); string histText = ((null != _manager && null != _manager.RevenueEntry && _manager.RevenueEntry.IsHistorical)) ? "(นำส่งย้อนหลัง)" : ""; inst.Parameters.Add(RdlcReportParameter.Create("HistoryText", histText)); return(inst); }
private RdlcReportModel GetReportModel() { Assembly assembly = this.GetType().Assembly; RdlcReportModel inst = new RdlcReportModel(); inst.Definition.EmbededReportName = "DMT.TA.Pages.Reports.CollectorCouponReceived.rdlc"; inst.Definition.RdlcInstance = RdlcReportUtils.GetEmbededReport(assembly, inst.Definition.EmbededReportName); // clear reprot datasource. inst.DataSources.Clear(); List <TSBCouponSummary> items = new List <TSBCouponSummary>(); if (null != _summary) { items.Add(_summary); } // gets coupon list by type. manager.User = _user; manager.Refresh(); // reload data. // load C35 items. List <TSBCouponTransaction> c35Items = new List <TSBCouponTransaction>(); var c35coupons = manager.C35Users; if (null != c35coupons) { c35Items.AddRange(c35coupons); } // load C80 items. List <TSBCouponTransaction> c80Items = new List <TSBCouponTransaction>(); var c80coupons = manager.C80Users; if (null != c80coupons) { c80Items.AddRange(c80coupons); } // assign new data source (main for header) RdlcReportDataSource mainDS = new RdlcReportDataSource(); mainDS.Name = "main"; // the datasource name in the rdlc report. mainDS.Items = items; // setup data source // Add to datasources inst.DataSources.Add(mainDS); // assign new data source (main for coupon35) RdlcReportDataSource c35DS = new RdlcReportDataSource(); c35DS.Name = "C35"; // the datasource name in the rdlc report. c35DS.Items = c35Items; // setup data source // Add to datasources inst.DataSources.Add(c35DS); // assign new data source (main for coupon80) RdlcReportDataSource c80DS = new RdlcReportDataSource(); c80DS.Name = "C80"; // the datasource name in the rdlc report. c80DS.Items = c80Items; // setup data source // Add to datasources inst.DataSources.Add(c80DS); // Add parameters (if required). // Coupon Received Date. DateTime today = DateTime.Today; //string couponDate = today.ToThaiDateTimeString("dd/MM/yyyy HH:mm:ss"); string couponDate = today.ToThaiDateTimeString("dd/MM/yyyy"); inst.Parameters.Add(RdlcReportParameter.Create("couponDate", couponDate)); // Supervisor (Current User) string supervisorFullName = DMT.Controls.TAApp.User.Current.FullNameTH; inst.Parameters.Add(RdlcReportParameter.Create("supervisorFullName", supervisorFullName)); return(inst); }
/// <summary> /// Load Report. /// </summary> /// <param name="rptViewer">The instance of Report Viewer Control.</param> /// <param name="reportSource">The instance of RdlcReportModel.</param> public static void LoadReport(this ReportViewer rptViewer, RdlcReportModel reportSource) { RdlcMessageService.Instance.SendMessage("Begin Load Report."); rptViewer.ProcessingMode = ProcessingMode.Local; LocalReport lr = rptViewer.LocalReport; if (null != reportSource && null != reportSource.Definition && null != reportSource.Definition.RdlcInstance && null != reportSource.DataSources) { RdlcMessageService.Instance.SendMessage("Begin Load Report Definition."); // Load Rdlc file lr.LoadReportDefinition(reportSource.Definition.RdlcInstance); RdlcMessageService.Instance.SendMessage("Clear Report Data source."); // Clear all datasource before assign new one. lr.DataSources.Clear(); if (reportSource.DataSources.Count > 0) { // Set all data source. foreach (var dataSource in reportSource.DataSources) { if (null == dataSource.Items) { continue; } RdlcMessageService.Instance .SendMessage("Add New Report Data source - " + dataSource.Name); lr.DataSources.Add(new ReportDataSource( dataSource.Name, dataSource.Items)); } } else { RdlcMessageService.Instance .SendMessage("No New Report Data source."); } if (lr.DataSources.Count > 0 && null != reportSource.Parameters && reportSource.Parameters.Count > 0) { foreach (RdlcReportParameter para in reportSource.Parameters) { if (null == para || string.IsNullOrWhiteSpace(para.Name)) { continue; } try { RdlcMessageService.Instance .SendMessage("Set Report parameter - " + para.Name); lr.SetValue(para.Name, para.Value); } catch (Exception) { } } } else { RdlcMessageService.Instance .SendMessage("No Report parameter assigned."); } if (lr.DataSources.Count > 0) { RdlcMessageService.Instance .SendMessage("Set Report Page setting from Printer page setting."); // Read Setting and set to report viewer ReportPageSettings rdlcPageSettings = lr.GetDefaultPageSettings(); System.Drawing.Printing.PageSettings pageSettings = new System.Drawing.Printing.PageSettings(); pageSettings.PaperSize = rdlcPageSettings.PaperSize; pageSettings.Landscape = rdlcPageSettings.IsLandscape; pageSettings.Margins = rdlcPageSettings.Margins; rptViewer.SetPageSettings(pageSettings); // refresh rptViewer.LocalReport.Refresh(); } else { RdlcMessageService.Instance .SendMessage("No Report data source so cannot set report page setting."); } } rptViewer.RefreshReport(); // Set display mode to print layout. rptViewer.SetDisplayMode(DisplayMode.PrintLayout); if (null != reportSource && null != reportSource.Definition && null != reportSource.Definition.RdlcInstance) { try { reportSource.Definition.Dispose(); } catch { } } }
private RdlcReportModel GetReportModel() { Assembly assembly = this.GetType().Assembly; RdlcReportModel inst = new RdlcReportModel(); inst.Definition.EmbededReportName = "DMT.TA.Pages.Reports.CouponSalesReceiptRep.rdlc"; inst.Definition.RdlcInstance = RdlcReportUtils.GetEmbededReport(assembly, inst.Definition.EmbededReportName); // clear reprot datasource. inst.DataSources.Clear(); var tsb = ops.TSB.GetCurrent().Value(); // load C35 items. List <TSBCouponTransaction> c35Items = new List <TSBCouponTransaction>(); var c35coupons = (null != _manager) ? _manager.C35TSBSolds : null; if (null != c35coupons) { c35Items.AddRange(c35coupons); } // load C80 items. List <TSBCouponTransaction> c80Items = new List <TSBCouponTransaction>(); var c80coupons = (null != _manager) ? _manager.C80TSBSolds : null; if (null != c80coupons) { c80Items.AddRange(c80coupons); } // create and calculate main summary list. List <TSBCouponSummary> items = new List <TSBCouponSummary>(); _summary = new TSBCouponSummary(); _summary.UserId = _manager.User.UserId; _summary.FullNameEN = _manager.User.FullNameEN; _summary.FullNameTH = _manager.User.FullNameTH; _summary.TSBId = tsb.TSBId; _summary.TSBNameEN = tsb.TSBNameEN; _summary.TSBNameTH = tsb.TSBNameTH; _summary.CountCouponBHT35 = c35Items.Count; _summary.CountCouponBHT80 = c80Items.Count; decimal a35 = decimal.Zero; c35Items.ForEach(c35 => { a35 += c35.Price; }); decimal a80 = decimal.Zero; c80Items.ForEach(c80 => { a80 += c80.Price; }); _summary.AmountCouponBHT35 = a35; _summary.AmountCouponBHT80 = a80; if (null != _summary) { items.Add(_summary); } // assign new data source (main for header) RdlcReportDataSource mainDS = new RdlcReportDataSource(); mainDS.Name = "main"; // the datasource name in the rdlc report. mainDS.Items = items; // setup data source // Add to datasources inst.DataSources.Add(mainDS); // assign new data source (main for coupon35) RdlcReportDataSource c35DS = new RdlcReportDataSource(); c35DS.Name = "C35"; // the datasource name in the rdlc report. c35DS.Items = c35Items; // setup data source // Add to datasources inst.DataSources.Add(c35DS); // assign new data source (main for coupon80) RdlcReportDataSource c80DS = new RdlcReportDataSource(); c80DS.Name = "C80"; // the datasource name in the rdlc report. c80DS.Items = c80Items; // setup data source // Add to datasources inst.DataSources.Add(c80DS); // Add parameters (if required). // Coupon Received Date. DateTime today = DateTime.Today; //string couponDate = today.ToThaiDateTimeString("dd/MM/yyyy HH:mm:ss"); string couponDate = today.ToThaiDateTimeString("dd/MM/yyyy"); inst.Parameters.Add(RdlcReportParameter.Create("couponDate", couponDate)); // Supervisor (Current User) string supervisorFullName = DMT.Controls.TAApp.User.Current.FullNameTH; inst.Parameters.Add(RdlcReportParameter.Create("supervisorFullName", supervisorFullName)); _runningNumber = "630000x"; // TODO: Implements Running Number for Receipt. inst.Parameters.Add(RdlcReportParameter.Create("runningNumber", _runningNumber)); return(inst); }
/// <summary> /// 保存筛选条件信息 /// 将未设置筛选的字段一起保存(未设置的字段IsSearch = false) /// </summary> /// <param name="rdlcReport"></param> /// <param name="rdlcReportId"></param> private void SaveRpFilterList(RdlcReportModel rdlcReport, long rdlcReportId) { //新增或修改筛选 if (rdlcReport.FilterListJson != null && rdlcReport.FilterListJson.Length > 0) { //保存说明:无差别式保存.然后在报表解析时去差别处理 //rdlcReport.FilterListJson返回的所有字段+自定义筛选的内容 var ftList = JSON.EncodeToEntity <List <ReportFilterModel> >(rdlcReport.FilterListJson); //原筛选项 var oldFtList = _reportFilterRepository.GetAllList(p => p.RdlcReportId == rdlcReportId); //获得新的字段 var fdCodes = ftList.Select(p => p.FieldCode); //未在新字段的(应被删的) var delFtList = oldFtList.Where(p => p.FieldCode != null && !fdCodes.Contains(p.FieldCode)).ToList(); //批量修改原筛选全部fasle if (oldFtList != null && oldFtList.Count > 0) { for (int j = oldFtList.Count - 1; j >= 0; j--) { var ft = oldFtList[j]; if (delFtList.Contains(ft)) { _reportFilterRepository.Delete(ft); } else { ft.IsSearch = false; _reportFilterRepository.Update(ft); } } //CurrentUnitOfWork.SaveChanges(); } //批量添加或修改筛选信息 if (ftList != null && ftList.Count > 0) { for (int i = 0; i < ftList.Count; i++) { var ft = ftList[i]; ReportFilter curFt = new ReportFilter(); if (ft.IsCustom)//自定筛选 { if (ft.Id != 0) { curFt = oldFtList.FirstOrDefault(p => p.Id == ft.Id); } else { curFt = oldFtList.FirstOrDefault(p => p.FieldParam == ft.FieldParam);//根据参数名判断 } } else { curFt = oldFtList.FirstOrDefault(p => p.FieldCode == ft.FieldCode);//根据字段编码判断 } curFt = AutoMapper.Mapper.Map(ft, curFt); curFt.RdlcReportId = rdlcReportId; _reportFilterRepository.InsertOrUpdate(curFt);//保存筛选 } } } }
private void SaveRdlcInEventList(RdlcReportModel tbReport, long reportId, long tbReportId, string code) { //表格解析地址 var analysis = _analysisRepository.FirstOrDefault(p => p.Url == "Report/RdlcReport"); #region 内置事件保存 //内置事件列表 var inEvList = _inEventRepository.GetAllList(p => p.ReportType == (short)ReportEnum.ReportType.Rdlc).ToList(); var inEvIds = inEvList.Select(p => p.Id); string inlambda = "p=>p.Code==\"" + code + "\" && p.EventFrom==\"内置\" && p.SourceTable==\"EM_INEVENT\" &&p.AnalysisId==" + analysis.Id; Expression <Func <ModuleEvent, bool> > exp1 = StringToLambda.LambdaParser.Parse <Func <ModuleEvent, bool> >(inlambda); var mdInEvList = _moduleManager.GetModuleEventList(exp1); if (mdInEvList != null && mdInEvList.Count > 0) { //删除不在内置事件列表中的模版事件 var delInEvList = mdInEvList.Where(p => !inEvIds.Contains(p.SourceTableId)).ToList(); if (delInEvList != null && delInEvList.Count > 0) { foreach (var inEv in delInEvList) { if (analysis != null) { //删除事件解析表事件及赋权信息 _moduleManager.DeleteEvent(analysis.Id, code, inEv.SourceTableId); } } } //查找没有添加的内置事件List var insertInEvList = inEvList.Where(p => !mdInEvList.Select(k => k.SourceTableId).Contains(p.Id)); if (insertInEvList != null && insertInEvList.Count() > 0) { //循环添加内置事件 foreach (var inev in insertInEvList) { ModuleEvent mdEv = new ModuleEvent { AnalysisId = analysis.Id, Code = code, EventName = inev.DisplayName + "(rdlc)", EventFrom = "内置", SourceTable = "EM_INEVENT", SourceTableId = inev.Id, }; _moduleManager.SaveEvent(mdEv); } } } else//未找到时,添加内置事件 { if (inEvList != null && inEvList.Count > 0) { foreach (var inEv in inEvList) { //保存事件至EM_MODULE_EVENT ModuleEvent mdEv = new ModuleEvent { AnalysisId = analysis.Id, Code = code, EventName = inEv.DisplayName + "(rdlc)", EventFrom = "内置", SourceTable = "EM_INEVENT", SourceTableId = inEv.Id }; _moduleManager.SaveEvent(mdEv); } } } #endregion }