public DataSourceResult TracerByCMSChart([DataSourceRequest] DataSourceRequest request, Search search) { SearchFormat sf = new SearchFormat(); sf.CheckInputs(search); List <TracerByCMSGraph> tracerByCMSExcel = new List <TracerByCMSGraph>(); DataTable dt = new DataTable(); var tcService = new TracerByCMS(); DataSourceResult result = new DataSourceResult(); try { dt = tcService.TracerByCMSGraph(search).Tables[0]; //convert datatable to list tracerByCMSExcel = dt.ToList <TracerByCMSGraph>().Where(item => !string.IsNullOrEmpty(item.CMSTag)).ToList <TracerByCMSGraph>(); result = tracerByCMSExcel.ToDataSourceResult(request, tc => new TracerByCMSGraph { CMSTag = tc.CMSTag, Compliance = tc.Compliance, TotalDenominator = tc.TotalDenominator, TotalNumerator = tc.TotalNumerator, TagID = tc.TagID }); } catch (Exception ex) { if (ex.Message.ToString() == "No Data") { result.Errors = WebConstants.NO_DATA_FOUND_EXCEL_VIEW; } else if (ex.Message.ToString() == "Limit") { result.Errors = "Maximum limit of " + ConfigurationManager.AppSettings["ReportOutputLimit"].ToString() + " records reached. Refine your criteria to narrow the result."; } if (ex.Message.ToString() != "No Data" && ex.Message.ToString() != "Limit") { ExceptionLog exceptionLog = new ExceptionLog { ExceptionText = "Reports: " + ex.Message, PageName = "OrganizationPriorityFindings", MethodName = "OrganizationPriorityFindingsRDLC", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; _exceptionService.LogException(exceptionLog); } } return(result); }
public DataSourceResult NewEPExcel([DataSourceRequest] DataSourceRequest request, Search search) { DataSourceResult result = new DataSourceResult(); try { SearchFormat sf = new SearchFormat(); sf.CheckInputs(search); List <NewEp> newEPExcel = new List <NewEp>(); DataTable dt = new DataTable(); dt = newEPData(search).Tables[0]; //convert datatable to list newEPExcel = dt.ToList <NewEp>(); result = newEPExcel.ToDataSourceResult(request, tc => new NewEp { StdEffectiveBeginDate = tc.StdEffectiveBeginDate, StdEP = tc.StdEP, EPText = tc.EPText }); } catch (Exception ex) { if (ex.Message.ToString() == "No Data") { result.Errors = "No Data found matching your criteria."; } else if (ex.Message.ToString() == "Limit") { result.Errors = "Maximum limit of " + ConfigurationManager.AppSettings["ReportOutputLimit"].ToString() + " records reached. Refine your criteria to narrow the result."; } if (ex.Message.ToString() != "No Data" && ex.Message.ToString() != "Limit") { ExceptionLog exceptionLog = new ExceptionLog { ExceptionText = "Reports: " + ex.Message, PageName = "NewEP", MethodName = "NewEPExcel", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; _exceptionService.LogException(exceptionLog); } } return(result); }
private void rbSearchFormat_CheckedChanged(object sender, EventArgs e) { if (rbLinq.Checked) { searchFormat = SearchFormat.LINQ; } else if (rbRegex.Checked) { searchFormat = SearchFormat.REGEX; } }
public DataSourceResult TracerByEPExcel([DataSourceRequest] DataSourceRequest request, Search search) { SearchFormat sf = new SearchFormat(); sf.CheckInputs(search); List <TracerByEPExcel> tracerByEPExcel = new List <TracerByEPExcel>(); DataTable dt = new DataTable(); var tcService = new TracerByEP(); DataSourceResult result = new DataSourceResult(); try { dt = tcService.TracerByEPData(search).Tables[0]; //convert datatable to list tracerByEPExcel = dt.ToList <TracerByEPExcel>().Where(item => !string.IsNullOrEmpty(item.TracerResponseTitle)).ToList <TracerByEPExcel>(); result = tracerByEPExcel.ToDataSourceResult(request, tc => new TracerByEPExcel { // TO DO Get Excel View DataSet SiteID = tc.SiteID, ChapterName = tc.ChapterName, CompliancePercent = tc.CompliancePercent, Denominator = tc.Denominator, EPLabel = tc.EPLabel, EPText = tc.EPText.ReplaceNewline(), EPTextID = tc.EPTextID, Numerator = tc.Numerator, ObservationDate = tc.ObservationDate, QuestionText = tc.QuestionText.ReplaceNewline(), ReportDataType = tc.ReportDataType, StandardLabel = tc.StandardLabel, StandardText = tc.StandardText.ReplaceNewline(), TracerCustomName = tc.TracerCustomName, TracerQuestionNote = tc.TracerQuestionNote.ReplaceNewline(), TracerResponseNote = tc.TracerResponseNote.ReplaceNewline(), TracerResponseTitle = tc.TracerResponseTitle, UpdatedByUserName = tc.UpdatedByUserName, UpdatedDate = tc.UpdatedDate, OrgName_Rank3 = tc.OrgName_Rank3, OrgName_Rank2 = tc.OrgName_Rank2, OrgName_Rank1_Dept = tc.OrgName_Rank1_Dept }); } catch (Exception ex) { if (ex.Message.ToString() == "No Data") { result.Errors = WebConstants.NO_DATA_FOUND_EXCEL_VIEW; } else if (ex.Message.ToString() == "Limit") { result.Errors = "Maximum limit of " + ConfigurationManager.AppSettings["ReportOutputLimit"].ToString() + " records reached. Refine your criteria to narrow the result."; } if (ex.Message.ToString() != "No Data" && ex.Message.ToString() != "Limit") { ExceptionLog exceptionLog = new ExceptionLog { ExceptionText = "Reports: " + ex.Message, PageName = "OrganizationPriorityFindings", MethodName = "OrganizationPriorityFindingsRDLC", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; _exceptionService.LogException(exceptionLog); } } return(result); }
public ReportViewer TaskReportRDLC(SearchTaskReport searchParams, Email emailInput, string reportType) { string reportDueDate = "All Dates"; string reportAssignDate = "All Dates"; SearchFormat searchoutput = new SearchFormat(); if (searchParams.DueFromDate != null) { if (searchParams.DueToDate != null) { reportDueDate = searchParams.DueFromDate.Value.ToShortDateString() + " - " + searchParams.DueToDate.Value.ToShortDateString(); } else { reportDueDate = "since " + searchParams.DueFromDate.Value.ToShortDateString(); } } if (searchParams.DueToDate != null) { if (searchParams.DueFromDate == null) { reportDueDate = "through " + searchParams.DueToDate.Value.ToShortDateString(); } } if (searchParams.AssignFromDate != null) { if (searchParams.AssignToDate != null) { reportAssignDate = searchParams.AssignFromDate.Value.ToShortDateString() + " - " + searchParams.AssignToDate.Value.ToShortDateString(); } else { reportAssignDate = "since " + searchParams.AssignFromDate.Value.ToShortDateString(); } } if (searchParams.AssignToDate != null) { if (searchParams.AssignFromDate == null) { reportAssignDate = "through " + searchParams.AssignToDate.Value.ToShortDateString(); } } ReportViewer reportViewer = new ReportViewer(); reportViewer.ProcessingMode = ProcessingMode.Local; reportViewer.SizeToReportContent = true; try { if (AppSession.ReportScheduleID > 0 && searchParams.ReportTitle != null) { searchParams.ReportTitle = String.Concat(searchParams.ReportTitle, " - Report ID: ", AppSession.ReportScheduleID); } else { searchParams.ReportTitle = reportType == "Summary" ? "Task Report - Summary" : "Task Report - Detail"; } string rdlcfilename = reportType == "Summary" ? "rptTaskReportSummary.rdlc" : "rptTaskReportDetail.rdlc"; string dsName = "dsTaskReport"; DataView dvTaskReport = new DataView(TaskReportData(searchParams).Tables[0]); reportViewer.LocalReport.DisplayName = searchParams.ReportTitle; reportViewer.LocalReport.ReportPath = HttpContext.Current.Request.MapPath(HttpContext.Current.Request.ApplicationPath) + @"Areas\Corporate\Reports\" + rdlcfilename; reportViewer.LocalReport.DataSources.Add(new ReportDataSource(dsName, dvTaskReport)); ReportParameter p1 = new ReportParameter("ReportTitle", searchParams.ReportTitle); ReportParameter p2 = new ReportParameter("Copyright", "© " + DateTime.Now.Year.ToString() + WebConstants.Copyright.ToString()); ReportParameter p3 = new ReportParameter("ProgramName", AppSession.SelectedProgramName); ReportParameter p4 = new ReportParameter("SiteName", searchParams.SelectedSiteNames); ReportParameter p5 = new ReportParameter("ReportDateTitle", DateTime.Now.ToString()); ReportParameter p6 = new ReportParameter("Status", searchParams.SelectedTaskStatusNames); ReportParameter p7 = new ReportParameter("AssignedToNames", searchParams.SelectedAssignedToNames); ReportParameter p8 = new ReportParameter("AssignedByNames", searchParams.SelectedAssignedByNames); ReportParameter p9 = new ReportParameter("EmailCcedToName", searchParams.SelectedEmailCcedNames); ReportParameter p10 = new ReportParameter("DueDate", reportDueDate); ReportParameter p11 = new ReportParameter("AssignDate", reportAssignDate); ReportParameterCollection reportParameterCollection = new ReportParameterCollection { p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11 }; if (reportType != "Summary") { ReportParameter p12 = new ReportParameter("OrgType3Header", AppSession.OrgRanking3Name.ToString()); ReportParameter p13 = new ReportParameter("OrgType2Header", AppSession.OrgRanking2Name.ToString()); ReportParameter p14 = new ReportParameter("OrgType1Header", AppSession.OrgRanking1Name.ToString()); reportParameterCollection.Add(p12); reportParameterCollection.Add(p13); reportParameterCollection.Add(p14); } reportViewer.LocalReport.SetParameters(reportParameterCollection); if (emailInput.To != null) { CommonService emailService = new CommonService(); int actionTypeId = (int)ActionTypeEnum.TaskReport; if (emailService.SendReportEmail(emailInput, actionTypeId, emailService.SetRdlcEmail(reportViewer))) { HttpContext.Current.Session["EmailSuccess"] = "true"; } else { HttpContext.Current.Session["EmailSuccess"] = "false"; } } } catch (Exception ex) { if (ex.Message.ToString() != "No Data") { ExceptionLog exceptionLog = new ExceptionLog { ExceptionText = "Reports: " + ex.Message + ";" + ex.InnerException.Message, PageName = "TaskReport", MethodName = "TaskReportRDLC", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; _exceptionService.LogException(exceptionLog); } throw ex; } return(reportViewer); }
public ReportViewer OrganizationPriorityFindingsRDLC(Search searchParams, Email emailInput) { DateTime?startDate = null; DateTime?endDate = null; string reportDateTitle = "All Tracer Dates"; SearchFormat searchoutput = new SearchFormat(); searchoutput.CheckInputs(searchParams); if (AppSession.ReportScheduleID > 0) { searchParams.ReportTitle = String.Concat(searchParams.ReportTitle, " - Report ID: ", AppSession.ReportScheduleID); } if (searchParams.StartDate != null) { startDate = searchParams.StartDate; if (searchParams.EndDate != null) { reportDateTitle = "Tracer updates for " + searchParams.StartDate.Value.ToShortDateString() + " - " + searchParams.EndDate.Value.ToShortDateString(); } else { reportDateTitle = "Tracer updates since " + searchParams.StartDate.Value.ToShortDateString(); } } if (searchParams.EndDate != null) { endDate = searchParams.EndDate.Value.Date.AddHours(23).AddMinutes(59).AddSeconds(59); if (searchParams.StartDate == null) { reportDateTitle = "Tracers updates through " + searchParams.EndDate.Value.ToShortDateString(); } } if ((searchParams.TracerCategoryIDs != null) && (searchParams.TracerCategoryIDs.Contains("-1"))) { searchParams.TracerCategoryIDs = null; } // Get Number of Standards to matchup between TJC Standards and Organizational Standards int TopN = Convert.ToInt32(searchParams.TopFindings); if (TopN == 0) { reportDateTitle = "All Organization Questions - " + reportDateTitle.ToString(); } else { reportDateTitle = "Top " + TopN.ToString() + " Organization Questions - " + reportDateTitle.ToString(); } ReportViewer reportViewer = new ReportViewer(); reportViewer.ProcessingMode = ProcessingMode.Local; reportViewer.SizeToReportContent = true; try { DataView dvReportResult = new DataView(GetOrgFindingsReportData(searchParams).Tables[0]); dvReportResult = this.AdjustTotals(dvReportResult); // Adjust totals to not double dip count if multiple standards for the same question reportViewer.LocalReport.DisplayName = searchParams.ReportTitle; reportViewer.LocalReport.ReportPath = HttpContext.Current.Request.MapPath(HttpContext.Current.Request.ApplicationPath) + @"Areas\Tracer\Reports\rptReportOrgFindingsByQuestion.rdlc"; reportViewer.LocalReport.DataSources.Add(new ReportDataSource("dsReport_OrgFindingsByQuestion", dvReportResult)); //Get the Organization Types header for the column header in RDLC CommonService oService = new CommonService(); string sCategoryTitle = oService.OrganizationTypesHeader(); ReportParameter p1 = new ReportParameter("SiteID", AppSession.SelectedSiteId.ToString()); ReportParameter p2 = new ReportParameter("ProgramID", AppSession.SelectedProgramId.ToString()); ReportParameter p3 = new ReportParameter("TracerCategoryIDs", searchParams.TracerCategoryIDs); ReportParameter p4 = new ReportParameter("ReportTitle", searchParams.ReportTitle); ReportParameter p5 = new ReportParameter("SiteName", AppSession.SelectedSiteName); ReportParameter p6 = new ReportParameter("ProgramName", AppSession.SelectedProgramName); ReportParameter p7 = new ReportParameter("ReportDateTitle", reportDateTitle.ToString()); ReportParameter p8 = new ReportParameter("Copyright", "© " + DateTime.Now.Year.ToString() + WebConstants.Tracer_Copyright.ToString()); ReportParameter p9 = new ReportParameter("OrgTypesHeader", sCategoryTitle); ReportParameter p10 = new ReportParameter("CategoryNames", searchParams.TracerCategoryNames); ReportParameter p11 = new ReportParameter("ReportStyle", ((int)Enum.Parse(typeof(ReportTypeNoExcel), searchParams.ReportType)).ToString()); ReportParameter p12 = new ReportParameter("ShowCMS", searchParams.IncludeCMS ? "1" : "0"); ReportParameter p13 = new ReportParameter("IsCMSProgram", AppSession.IsCMSProgram ? "1" : "0"); ReportParameterCollection reportParameterCollection = new ReportParameterCollection { p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13 }; reportViewer.LocalReport.SetParameters(reportParameterCollection); if (emailInput.To != null) { CommonService emailService = new CommonService(); int actionTypeId = (int)ActionTypeEnum.OrganizationPriorityFindingsReportOrganizationPriorityFindingsReport; if (emailService.SendReportEmail(emailInput, actionTypeId, emailService.SetRdlcEmail(reportViewer))) { // do nothing // left place holder for any other actions. } else { throw (new Exception("Email")); } } } catch (Exception ex) { if (ex.Message.ToString() != "No Data" && ex.Message.ToString() != "Limit") { ExceptionLog exceptionLog = new ExceptionLog { ExceptionText = "Reports: " + ex.Message, PageName = "OrganizationPriorityFindings", MethodName = "OrganizationPriorityFindingsRDLC", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; _exceptionService.LogException(exceptionLog); } throw ex; } return(reportViewer); }
public ReportViewer TracerComprehensiveRDLC(Search search, Email emailInput) { SearchFormat sf = new SearchFormat(); sf.CheckInputs(search); string msg = String.Empty; string rdlcName = String.Empty; string dsName = String.Empty; string reportTitleAdder = String.Empty; if (search.StartDate != null && search.EndDate != null) { search.ReportDateTitle = "Tracer updates for " + search.StartDate.Value.ToShortDateString() + " - " + search.EndDate.Value.ToShortDateString(); search.EndDate = search.EndDate.Value.Date.AddHours(23).AddMinutes(29).AddSeconds(59); } else if (search.StartDate != null && search.EndDate == null) { search.ReportDateTitle = "Tracer updates since " + search.StartDate.Value.ToShortDateString(); } else if (search.StartDate == null && search.EndDate != null) { search.ReportDateTitle = "Tracers updates through " + search.EndDate.Value.ToShortDateString(); search.EndDate = search.EndDate.Value.Date.AddHours(23).AddMinutes(29).AddSeconds(59); } else { search.ReportDateTitle = "All Tracer Dates"; } ReportViewer reportViewer = new ReportViewer(); reportViewer.ProcessingMode = ProcessingMode.Local; reportViewer.SizeToReportContent = true; try { switch (search.ReportTypeSumDet) { case "Detail": { if (search.GroupByObsQues == "Observation") { // Detail by Observation rdlcName = @"Areas\Tracer\Reports\rptReportTracerComprehensiveByResponsesDetail.rdlc"; dsName = "dsReport_TracerComprehensiveDetailByResponse"; reportTitleAdder = " - Detail By Observations"; } else { // Detail By Question rdlcName = @"Areas\Tracer\Reports\rptReportTracerComprehensiveByQuestionsDetail.rdlc"; dsName = "dsReport_TracerComprehensiveDetailByQuestion"; reportTitleAdder = " - Detail By Questions"; } break; } case "Summary": default: { if (search.GroupByObsQues == "Observation") { // Summary By Observation rdlcName = @"Areas\Tracer\Reports\rptReportTracerComprehensiveByResponsesSummary.rdlc"; dsName = "dsReport_TracerComprehensiveSummaryByResponse"; reportTitleAdder = " - Summary By Observations"; } else { // Summary By Question rdlcName = @"Areas\Tracer\Reports\rptReportTracerComprehensiveByQuestionsSummary.rdlc"; dsName = "dsReport_TracerComprehensiveSummaryByQuestion"; reportTitleAdder = " - Summary By Questions"; } break; } } if (AppSession.ReportScheduleID > 0) { reportTitleAdder = String.Concat(reportTitleAdder, " - Report ID: ", AppSession.ReportScheduleID); } reportViewer.LocalReport.DisplayName = search.ReportTitle; reportViewer.LocalReport.ReportPath = HttpContext.Current.Request.MapPath(HttpContext.Current.Request.ApplicationPath) + rdlcName; reportViewer.LocalReport.DataSources.Add(new ReportDataSource(dsName, TracerComprehensiveData(search).Tables[0])); ReportParameter p1 = new ReportParameter("ReportTitle", search.ReportTitle.ToString() + reportTitleAdder.ToString()); ReportParameter p2 = new ReportParameter("SiteName", AppSession.SelectedSiteName); ReportParameter p3 = new ReportParameter("ProgramName", AppSession.SelectedProgramName); ReportParameter p4 = new ReportParameter("ReportDateTitle", search.ReportDateTitle.ToString()); ReportParameter p5 = new ReportParameter("Copyright", "© " + DateTime.Now.Year.ToString() + WebConstants.Tracer_Copyright.ToString()); ReportParameter p6 = new ReportParameter("CategoryNames", search.TracerCategoryNames.ToString()); ReportParameter p7 = new ReportParameter("FollowupRequired", search.IncludeFollowup ? "1" : "0"); ReportParameter p8 = new ReportParameter("IncludeNA", search.IncludeNA ? "1" : "0"); ReportParameter p9 = new ReportParameter("FSA", search.IncludeFsa ? "1" : "0"); ReportParameter p10 = new ReportParameter("TracerNames", search.TracerListNames.ToString()); ReportParameter p11 = new ReportParameter("OrgType1Header", AppSession.OrgRanking1Name.ToString()); // Provide OrgType Rank 1 Name header (e.g., Department) ReportParameter p12 = new ReportParameter("OrgType2Header", AppSession.OrgRanking2Name.ToString()); // Provide OrgType Rank 2 Name column header or blank if none ReportParameter p13 = new ReportParameter("OrgType3Header", AppSession.OrgRanking3Name.ToString()); // Provide OrgType Rank 2 Name column header or blank if none ReportParameter p14 = new ReportParameter("OrgRank1Names", search.OrgTypeLevel1Names.ToString()); // Filtered Rank 1 Org Names or blank string for all ReportParameter p15 = new ReportParameter("OrgRank2Names", search.OrgTypeLevel2Names.ToString()); // Filtered Rank 2 Org Names or blank string for all ReportParameter p16 = new ReportParameter("OrgRank3Names", search.OrgTypeLevel3Names.ToString()); // Filtered Rank 3 Org Names or blank string for all ReportParameter p17 = new ReportParameter("IncludeCompliancePercent", search.IncludeNonCompliantOpportunities ? "1" : "0"); ReportParameter p18 = new ReportParameter("CompliancePercent", search.OpportunitiesValue.ToString()); ReportParameter p19 = new ReportParameter("TracerTypeID", search.TracerTypeID < 1 ? "1" : search.TracerTypeID.ToString()); ReportParameter p20 = new ReportParameter("IsCMSEnabled", AppSession.IsCMSProgram ? "1" : "0"); ReportParameterCollection reportParameterCollection = new ReportParameterCollection { p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20 }; reportViewer.LocalReport.SetParameters(reportParameterCollection); if (emailInput.To != null) { CommonService emailService = new CommonService(); int actionTypeId = (int)ActionTypeEnum.ComprehensiveTracerReport; if (emailService.SendReportEmail(emailInput, actionTypeId, emailService.SetRdlcEmail(reportViewer))) { // do nothing // left place holder for any other actions. } else { throw (new Exception("Email")); } } } catch (Exception ex) { if (ex.Message.ToString() != "No Data" && ex.Message.ToString() != "Limit") { ExceptionLog exceptionLog = new ExceptionLog { ExceptionText = "Reports: " + ex.Message, PageName = "TracerComprehensive", MethodName = "_TracerComprehensiveRDLC", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; _exceptionService.LogException(exceptionLog); } throw; } return(reportViewer); }
public byte[] TracerComprehensiveDataIE(Search search) { string rdlcName = String.Empty; string dsName = String.Empty; string reportTitleAdder = String.Empty; SearchFormat sf = new SearchFormat(); sf.CheckInputs(search); byte[] fileContents = null; try { var fulldt = TracerComprehensiveData(search).Tables[0]; DataView dv = new DataView(fulldt); if (AppSession.ReportScheduleID > 0) { search.ReportTitle = String.Concat(search.ReportTitle, " - Report ID: ", AppSession.ReportScheduleID); } search.ReportDateTitle = CommonService.InitializeReportDateTitle("Tracer", search.StartDate, search.EndDate); search.EndDate = (search.EndDate != null && search.EndDate.ToString() != "") ? search.EndDate.Value.Date.AddHours(23).AddMinutes(29).AddSeconds(59) : search.EndDate; // Setup ReportViewer ReportViewer reportViewer = new ReportViewer(); reportViewer.ProcessingMode = ProcessingMode.Local; reportViewer.SizeToReportContent = true; reportViewer.LocalReport.DisplayName = search.ReportTitle; if (search.GroupByObsQues == "Observation") { rdlcName = "rptReportTracerComprehensiveByResponsesDetailExport.rdlc"; dsName = "dsReport_TracerComprehensiveDetailByResponseExport"; reportTitleAdder = " - Detail By Observations"; } else { rdlcName = "rptReportTracerComprehensiveByQuestionsDetailExport.rdlc"; dsName = "dsReport_TracerComprehensiveDetailByQuestionExport"; reportTitleAdder = " - Detail By Questions"; } // Setup Data sources for report reportViewer.LocalReport.DataSources.Clear(); reportViewer.LocalReport.ReportPath = HttpContext.Current.Request.MapPath(HttpContext.Current.Request.ApplicationPath) + @"Areas\Tracer\Reports\" + rdlcName.ToString(); reportViewer.LocalReport.DataSources.Add(new ReportDataSource(dsName, dv)); // Setup Parameter DataSet DataSet reportParameters = CommonService.ReportParameters(); // Excel view here // Add Parameter Data Set reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_SiteName, AppSession.SelectedSiteName, "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_ProgramName, AppSession.SelectedProgramName, "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_TracerCategories, search.TracerCategoryNames.ToString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_TracerName, search.TracerListNames.ToString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_ReportType, search.ReportTypeSumDet.ToString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_ReportGroupByType, search.GroupByObsQues.ToString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_StartDate, search.StartDate == null ? "" : Convert.ToDateTime(search.StartDate).ToShortDateString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_EndDate, search.EndDate == null ? "" : Convert.ToDateTime(search.EndDate).ToShortDateString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_IncludeCompliancePercent, search.IncludeNonCompliantOpportunities ? "True" : "False", "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_CompliancePercent, search.OpportunitiesValue.ToString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_FollowupRequired, search.IncludeFollowup ? "True" : "False", "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_IncludeNA, search.IncludeNA ? "True" : "False", "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_FSA, search.IncludeFsa ? "True" : "False", "1"); reportParameters.Tables[0].Rows.Add(CommonService.GetOrgHeader(), search.InActiveOrgTypes ? "True" : "False", "1"); reportParameters.Tables[0].Rows.Add(AppSession.OrgRanking1Name, search.OrgTypeLevel1Names, "1"); if (AppSession.OrgRanking2Name != "") { reportParameters.Tables[0].Rows.Add(AppSession.OrgRanking2Name, search.OrgTypeLevel2Names, "1"); } if (AppSession.OrgRanking3Name != "") { reportParameters.Tables[0].Rows.Add(AppSession.OrgRanking3Name, search.OrgTypeLevel3Names, "1"); } // Add Parameters as Data source DataView dvReport2 = new DataView(reportParameters.Tables[0]); ReportDataSource datasource2 = new ReportDataSource("dsReport_Parameters", dvReport2); reportViewer.LocalReport.DataSources.Add(datasource2); ReportParameter p1 = new ReportParameter("ReportTitle", search.ReportTitle.ToString() + reportTitleAdder.ToString()); ReportParameter p2 = new ReportParameter("SiteName", AppSession.SelectedSiteName); ReportParameter p3 = new ReportParameter("ProgramName", AppSession.SelectedProgramName); ReportParameter p4 = new ReportParameter("ReportDateTitle", search.ReportDateTitle.ToString()); ReportParameter p5 = new ReportParameter("Copyright", "© " + DateTime.Now.Year.ToString() + WebConstants.Tracer_Copyright.ToString()); ReportParameter p6 = new ReportParameter("CategoryNames", search.TracerCategoryNames.ToString()); ReportParameter p7 = new ReportParameter("FollowupRequired", search.IncludeFollowup ? "1" : "0"); ReportParameter p8 = new ReportParameter("IncludeNA", search.IncludeNA ? "1" : "0"); ReportParameter p9 = new ReportParameter("FSA", search.IncludeFsa ? "1" : "0"); ReportParameter p10 = new ReportParameter("TracerNames", search.TracerListNames.ToString()); ReportParameter p11 = new ReportParameter("OrgType1Header", AppSession.OrgRanking1Name.ToString()); // Provide OrgType Rank 1 Name header (e.g., Department) ReportParameter p12 = new ReportParameter("OrgType2Header", AppSession.OrgRanking2Name.ToString()); // Provide OrgType Rank 2 Name column header or blank if none ReportParameter p13 = new ReportParameter("OrgType3Header", AppSession.OrgRanking3Name.ToString()); // Provide OrgType Rank 2 Name column header or blank if none ReportParameter p14 = new ReportParameter("OrgRank1Names", search.OrgTypeLevel1Names.ToString()); // Filtered Rank 1 Org Names or blank string for all ReportParameter p15 = new ReportParameter("OrgRank2Names", search.OrgTypeLevel2Names.ToString()); // Filtered Rank 2 Org Names or blank string for all ReportParameter p16 = new ReportParameter("OrgRank3Names", search.OrgTypeLevel3Names.ToString()); // Filtered Rank 3 Org Names or blank string for all ReportParameter p17 = new ReportParameter("IncludeCompliancePercent", search.IncludeNonCompliantOpportunities ? "1" : "0"); ReportParameter p18 = new ReportParameter("CompliancePercent", search.OpportunitiesValue.ToString()); ReportParameterCollection reportParameterCollection = new ReportParameterCollection { p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18 }; reportViewer.LocalReport.SetParameters(reportParameterCollection); Warning[] warnings; string[] streamIds; string mimeType = string.Empty; string encoding = string.Empty; string extension = string.Empty; fileContents = reportViewer.LocalReport.Render("EXCELOPENXML", null, out mimeType, out encoding, out extension, out streamIds, out warnings); } catch (Exception ex) { throw ex; } return(fileContents); }
public ReportViewer _TracerControlChartRDLC(Search search, Email emailInput) { SearchFormat searchoutput = new SearchFormat(); searchoutput.CheckInputs(search); if (AppSession.ReportScheduleID > 0) { search.ReportTitle = String.Concat(search.ReportTitle, " - Report ID: ", AppSession.ReportScheduleID); } #region Start and End Dates are Queried to Derive Report Date Title if (search.StartDate != null && search.EndDate != null) { search.ReportDateTitle = "Tracer updates for " + search.StartDate.Value.ToShortDateString() + " - " + search.EndDate.Value.ToShortDateString(); search.EndDate = search.EndDate.Value.Date.AddHours(23).AddMinutes(29).AddSeconds(59); } else if (search.StartDate != null && search.EndDate == null) { search.ReportDateTitle = "Tracer updates since " + search.StartDate.Value.ToShortDateString(); } else if (search.StartDate == null && search.EndDate != null) { search.ReportDateTitle = "Tracers updates through " + search.EndDate.Value.ToShortDateString(); search.EndDate = search.EndDate.Value.Date.AddHours(23).AddMinutes(29).AddSeconds(59); } else { search.ReportDateTitle = "All Tracer Dates"; } #endregion ReportViewer reportViewer = new ReportViewer(); reportViewer.ProcessingMode = ProcessingMode.Local; reportViewer.SizeToReportContent = true; try { reportViewer.LocalReport.DisplayName = search.ReportTitle; reportViewer.LocalReport.ReportPath = HttpContext.Current.Request.MapPath(HttpContext.Current.Request.ApplicationPath) + @"Areas\Tracer\Reports\rptReportTracerControlChart.rdlc"; reportViewer.LocalReport.DataSources.Add(new ReportDataSource("dsReport_TracerControlChart", ReportTracerControlChart(search).Tables[0])); ReportParameter p1 = new ReportParameter("FSA", search.IncludeFsa ? "1" : "0"); ReportParameter p2 = new ReportParameter("GroupBy", ((int)Enum.Parse(typeof(TracerComplianceGroupBy), search.GroupByObsQues)).ToString()); ReportParameter p3 = new ReportParameter("SiteName", AppSession.SelectedSiteName); ReportParameter p4 = new ReportParameter("ProgramName", AppSession.SelectedProgramName); ReportParameter p5 = new ReportParameter("ReportDateTitle", search.ReportDateTitle); ReportParameter p6 = new ReportParameter("Copyright", "© " + DateTime.Now.Year.ToString() + WebConstants.Tracer_Copyright.ToString()); ReportParameter p7 = new ReportParameter("CategoryNames", search.TracerCategoryNames); ReportParameter p8 = new ReportParameter("ReportDisplayType", ((int)Enum.Parse(typeof(ReportTypeNoExcel), search.ReportType)).ToString()); ReportParameter p9 = new ReportParameter("ReportTitle", search.ReportTitle); ReportParameter p10 = new ReportParameter("OrgTypeLevel1Names", search.OrgTypeLevel1Names); ReportParameter p11 = new ReportParameter("OrgTypeLevel2Names", search.OrgTypeLevel2Names); ReportParameter p12 = new ReportParameter("OrgTypeLevel3Names", search.OrgTypeLevel3Names); ReportParameter p13 = new ReportParameter("OrgType1Header", AppSession.OrgRanking1Name); ReportParameter p14 = new ReportParameter("OrgType2Header", AppSession.OrgRanking2Name); ReportParameter p15 = new ReportParameter("OrgType3Header", AppSession.OrgRanking3Name); ReportParameter p16 = new ReportParameter("IsCMSProgram", AppSession.IsCMSProgram ? "1" : "0"); ReportParameterCollection reportParameterCollection = new ReportParameterCollection { p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p10, p11, p12, p13, p14, p15, p16 }; reportViewer.LocalReport.SetParameters(reportParameterCollection); CommonService setRdlcEmail = new CommonService(); setRdlcEmail.SetRdlcEmail(reportViewer); if (emailInput.To != null) { CommonService emailService = new CommonService(); int actionTypeId = (int)ActionTypeEnum.TracerControlChartReport; if (emailService.SendReportEmail(emailInput, actionTypeId, emailService.SetRdlcEmail(reportViewer))) { // Do Nothing } else { throw (new Exception("Email")); } } } catch (Exception ex) { if (ex.Message.ToString() != "No Data" && ex.Message.ToString() != "Limit") { ExceptionLog exceptionLog = new ExceptionLog { ExceptionText = "Reports: " + ex.Message, PageName = "TracerObservationStatus", MethodName = "_tracerobservationstatusRDLC", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; _exceptionService.LogException(exceptionLog); } throw; } return(reportViewer); }
public ReportViewer _TracerTeamStatusRDLC(Search search, Email emailInput) { SearchFormat searchoutput = new SearchFormat(); searchoutput.CheckInputs(search); searchoutput.CheckInputs_TracerObsEnteredBy(search); string msg = String.Empty; if (AppSession.ReportScheduleID > 0) { search.ReportTitle = String.Concat(search.ReportTitle, " - Report ID: ", AppSession.ReportScheduleID); } if (search.StartDate != null && search.EndDate != null) { search.ReportDateTitle = "Tracer updates for " + search.StartDate.Value.ToShortDateString() + " - " + search.EndDate.Value.ToShortDateString(); search.EndDate = search.EndDate.Value.Date.AddHours(23).AddMinutes(29).AddSeconds(59); } else if (search.StartDate != null && search.EndDate == null) { search.ReportDateTitle = "Tracer updates since " + search.StartDate.Value.ToShortDateString(); } else if (search.StartDate == null && search.EndDate != null) { search.ReportDateTitle = "Tracers updates through " + search.EndDate.Value.ToShortDateString(); search.EndDate = search.EndDate.Value.Date.AddHours(23).AddMinutes(29).AddSeconds(59); } else { search.ReportDateTitle = "All Tracer Dates"; } ReportViewer reportViewer = new ReportViewer(); reportViewer.ProcessingMode = ProcessingMode.Local; reportViewer.SizeToReportContent = true; try { reportViewer.LocalReport.DisplayName = search.ReportTitle; reportViewer.LocalReport.ReportPath = HttpContext.Current.Request.MapPath(HttpContext.Current.Request.ApplicationPath) + @"Areas\Tracer\Reports\rptReportTracerTeamStatus.rdlc"; reportViewer.LocalReport.DataSources.Add(new ReportDataSource("dsReport_TracerTeamStatus", TracerTeamStatusData(search).Tables[0])); // ReportParameter p1 = new ReportParameter("ReportDisplayType", ((int)Enum.Parse(typeof(ReportType), search.ReportType)).ToString()); ReportParameter p1 = new ReportParameter("ProgramName", AppSession.SelectedProgramName); ReportParameter p2 = new ReportParameter("SiteName", AppSession.SelectedSiteName); ReportParameter p3 = new ReportParameter("TracerCategories", search.TracerCategoryNames.ToString()); // Filterd Tracercategories or blank for all ReportParameter p4 = new ReportParameter("TracerName", search.TracerListNames.ToString()); ReportParameter p5 = new ReportParameter("ReportTitle", search.ReportTitle.ToString()); ReportParameter p6 = new ReportParameter("ReportDateTitle", search.ReportDateTitle.ToString()); // Computed start/end date string for date range title ReportParameter p7 = new ReportParameter("Copyright", "© " + DateTime.Now.Year.ToString() + WebConstants.Tracer_Copyright.ToString()); ReportParameter p8 = new ReportParameter("OrgType1Header", AppSession.OrgRanking1Name.ToString()); // Provide OrgType Rank 1 Name header (e.g., Department) ReportParameter p9 = new ReportParameter("OrgType2Header", AppSession.OrgRanking2Name.ToString()); ReportParameter p10 = new ReportParameter("OrgType3Header", AppSession.OrgRanking3Name.ToString()); ReportParameter p11 = new ReportParameter("OrgRank1Names", search.OrgTypeLevel1Names.ToString()); // Filtered Rank 1 Org Names or blank string for all ReportParameter p12 = new ReportParameter("OrgRank2Names", search.OrgTypeLevel2Names.ToString()); // Filtered Rank 2 Org Names or blank string for all ReportParameter p13 = new ReportParameter("OrgRank3Names", search.OrgTypeLevel3Names.ToString()); // Filtered Rank 3 Org Names or blank string for all ReportParameter p14 = new ReportParameter("IsCMSProgram", AppSession.IsCMSProgram ? "1" : "0"); ReportParameterCollection reportParameterCollection = new ReportParameterCollection { p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p10, p11, p12, p13, p14 }; reportViewer.LocalReport.SetParameters(reportParameterCollection); if (emailInput.To != null) { CommonService emailService = new CommonService(); int actionTypeId = (int)ActionTypeEnum.TracerTeamStatusReport; if (emailService.SendReportEmail(emailInput, actionTypeId, emailService.SetRdlcEmail(reportViewer))) { // do nothing // left place holder for any other actions. } else { throw (new Exception("Email")); } } } catch (Exception ex) { if (ex.Message.ToString() != "No Data" && ex.Message.ToString() != "Limit") { ExceptionLog exceptionLog = new ExceptionLog { ExceptionText = "Reports: " + ex.Message, PageName = "TracerTeamStatus", MethodName = "_TracerTeamStatusRDLC", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; _exceptionService.LogException(exceptionLog); } throw; } return(reportViewer); }
public ReportViewer ComprehensiveScoringRDLC(SearchComprehensiveScoringParams searchParams, Email emailInput, string reportType = "Summary", string applicationPath = "") { DateTime?startDate = null; DateTime?endDate = null; string reportDate = "All Dates"; SearchFormat searchoutput = new SearchFormat(); if (searchParams.DateStart != null) { startDate = searchParams.DateStart; if (searchParams.DateEnd != null) { reportDate = searchParams.DateStart.Value.ToShortDateString() + " - " + searchParams.DateEnd.Value.ToShortDateString(); } else { reportDate = "since " + searchParams.DateStart.Value.ToShortDateString(); } } if (searchParams.DateEnd != null) { endDate = searchParams.DateEnd.Value.Date.AddHours(23).AddMinutes(59).AddSeconds(59); if (searchParams.DateStart == null) { reportDate = "through " + searchParams.DateEnd.Value.ToShortDateString(); } } ReportViewer reportViewer = new ReportViewer(); reportViewer.ProcessingMode = ProcessingMode.Local; reportViewer.SizeToReportContent = true; try { if (AppSession.ReportScheduleID > 0 && searchParams.ReportTitle != null) { searchParams.ReportTitle = String.Concat(searchParams.ReportTitle, " - Report ID: ", AppSession.ReportScheduleID); } else { searchParams.ReportTitle = WebConstants.AMP_COMPREHENSIVE_SCORING_REPORT; } string rdlcfilename = string.Empty; string dsName = string.Empty; rdlcfilename = "rptComprehensiveScoring_Detail.rdlc"; dsName = "dsComprehensiveScoringDetail"; DataTable dtblResult = GetReportDataView(searchParams).Tables[0]; bool showMockSurveyNameColumn = searchParams.IsCorporateAccess; showMockSurveyNameColumn = dtblResult.AsEnumerable().Count(a => a.Field <int>("ScoreTypeID") == 4) > 0; DataView dvReportResultForEPScoring = new DataView(dtblResult); reportViewer.LocalReport.DisplayName = searchParams.ReportTitle; reportViewer.LocalReport.ReportPath = applicationPath + @"Areas\Corporate\Reports\" + rdlcfilename; if (showMockSurveyNameColumn)//for Mock Survey score Type { reportViewer.LocalReport.DataSources.Add(new ReportDataSource(dsName, dvReportResultForEPScoring)); reportViewer.LocalReport.DataSources.Add(new ReportDataSource(dsName + "_Final", new DataView())); } else { reportViewer.LocalReport.DataSources.Add(new ReportDataSource(dsName, new DataView())); reportViewer.LocalReport.DataSources.Add(new ReportDataSource(dsName + "_Final", dvReportResultForEPScoring)); } ReportParameter p1 = new ReportParameter("ReportTitle", searchParams.ReportTitle); ReportParameter p2 = new ReportParameter("Copyright", "© " + DateTime.Now.Year.ToString() + WebConstants.Copyright.ToString()); ReportParameter p3 = new ReportParameter("ProgramName", searchParams.ProgramName); ReportParameter p4 = new ReportParameter("SiteName", searchParams.SiteName); ReportParameter p5 = new ReportParameter("ReportDateTitle", DateTime.Now.ToString()); ReportParameter p6 = new ReportParameter("ChapterNameList", searchParams.ChapterName); ReportParameter p7 = new ReportParameter("ScoreDateRange", reportDate); ReportParameter p8 = new ReportParameter("ProgramID", searchParams.ProgramID.ToString()); ReportParameter p9 = new ReportParameter("IncludeCMS", searchParams.chkIncludeCMS.ToString()); ReportParameterCollection reportParameterCollection = new ReportParameterCollection { p1, p2, p3, p4, p5, p6, p7, p8, p9 }; reportParameterCollection.Add(new ReportParameter("ScoreType", showMockSurveyNameColumn == true ? "4" : "3")); reportViewer.LocalReport.SetParameters(reportParameterCollection); if (emailInput.To != null) { CommonService emailService = new CommonService(); int actionTypeId = (int)ActionTypeEnum.ComprehensiveScoringReport; if (emailService.SendReportEmail(emailInput, actionTypeId, emailService.SetRdlcEmail(reportViewer))) { HttpContext.Current.Session["EmailSuccess"] = "true"; } else { HttpContext.Current.Session["EmailSuccess"] = "false"; } } } catch (Exception ex) { if (ex.Message.ToString() != "No Data") { ExceptionLog exceptionLog = new ExceptionLog { ExceptionText = "Reports: " + ex.Message + ";" + ex.InnerException.Message, PageName = "ComprehensiveScoringSummary", MethodName = "ComprehensiveScoringSummaryRDLC", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; _exceptionService.LogException(exceptionLog); } throw ex; } return(reportViewer); }
public ReportViewer TracerComplianceRDLC(Search searchParams, Email emailInput) { string reportDateTitle = "All Tracer Dates"; DateTime?startDate = null; DateTime?endDate = null; ReportViewer reportViewer = new ReportViewer(); reportViewer.ProcessingMode = ProcessingMode.Local; reportViewer.SizeToReportContent = true; SearchFormat searchoutput = new SearchFormat(); searchoutput.CheckInputs(searchParams); try { if (AppSession.ReportScheduleID > 0) { searchParams.ReportTitle = String.Concat(searchParams.ReportTitle, " - Report ID: ", AppSession.ReportScheduleID); } if (searchParams.StartDate != null) { startDate = searchParams.StartDate.Value; if (searchParams.EndDate != null) { reportDateTitle = "Tracer updates for " + searchParams.StartDate.Value.ToShortDateString() + " - " + searchParams.EndDate.Value.ToShortDateString(); } else { reportDateTitle = "Tracer updates since " + searchParams.StartDate.Value.ToShortDateString(); } } if (searchParams.EndDate != null) { endDate = searchParams.EndDate.Value.Date.AddHours(23).AddMinutes(59).AddSeconds(59); if (searchParams.StartDate == null) { reportDateTitle = "Tracers updates through " + searchParams.EndDate.Value.ToShortDateString(); } } DataView dvReportResult = new DataView(GetTracerComplianceSummary(searchParams).Tables[0]); reportViewer.LocalReport.DisplayName = searchParams.ReportTitle; reportViewer.LocalReport.ReportPath = HttpContext.Current.Request.MapPath(HttpContext.Current.Request.ApplicationPath) + @"Areas\Tracer\Reports\rptReportTracerComplianceSummary.rdlc"; reportViewer.LocalReport.DataSources.Add(new ReportDataSource("dsReport_TracerComplianceSummary", dvReportResult)); ReportParameter p1 = new ReportParameter("SiteID", AppSession.SelectedSiteId.ToString()); ReportParameter p2 = new ReportParameter("ProgramID", AppSession.SelectedProgramId.ToString()); ReportParameter p3 = new ReportParameter("TracerCategoryIDs", searchParams.TracerCategoryIDs); ReportParameter p4 = new ReportParameter("TracerCustomIDs", searchParams.TracerListIDs); ReportParameter p5 = new ReportParameter("FSA", searchParams.IncludeFsa ? "1" : "0"); ReportParameter p6 = new ReportParameter("GroupBy", ((int)Enum.Parse(typeof(TracerComplianceGroupBy), searchParams.GroupByObsQues)).ToString()); ReportParameter p7 = new ReportParameter("CycleID", AppSession.CycleID.ToString()); ReportParameter p8 = new ReportParameter("SiteName", AppSession.SelectedSiteName); ReportParameter p9 = new ReportParameter("ProgramName", AppSession.SelectedProgramName); ReportParameter p10 = new ReportParameter("ReportDateTitle", reportDateTitle.ToString()); ReportParameter p11 = new ReportParameter("Copyright", "© " + DateTime.Now.Year.ToString() + WebConstants.Tracer_Copyright.ToString()); ReportParameter p12 = new ReportParameter("CategoryNames", searchParams.TracerCategoryNames); ReportParameter p13 = new ReportParameter("ReportDisplayType", ((int)Enum.Parse(typeof(ReportTypeNoExcel), searchParams.ReportType)).ToString()); ReportParameter p14 = new ReportParameter("ReportTitle", searchParams.ReportTitle); ReportParameter p15 = new ReportParameter("OrgTypeLevel1Names", searchParams.OrgTypeLevel1Names); ReportParameter p16 = new ReportParameter("OrgTypeLevel2Names", searchParams.OrgTypeLevel2Names); ReportParameter p17 = new ReportParameter("OrgTypeLevel3Names", searchParams.OrgTypeLevel3Names); ReportParameter p18 = new ReportParameter("OrgType1Header", AppSession.OrgRanking1Name.ToString()); ReportParameter p19 = new ReportParameter("OrgType2Header", AppSession.OrgRanking2Name.ToString()); ReportParameter p20 = new ReportParameter("OrgType3Header", AppSession.OrgRanking3Name.ToString()); ReportParameter p21 = new ReportParameter("IsCMSProgram", AppSession.IsCMSProgram ? "1" : "0"); ReportParameterCollection reportParameterCollection = new ReportParameterCollection { p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21 }; reportViewer.LocalReport.SetParameters(reportParameterCollection); if (emailInput.To != null) { CommonService emailService = new CommonService(); int actionType = (int)ActionTypeEnum.TracerComplianceSummaryReport; if (emailService.SendReportEmail(emailInput, actionType, emailService.SetRdlcEmail(reportViewer))) { // do nothing // left place holder for any other actions. } else { throw (new Exception("Email")); } } } catch (Exception ex) { if (ex.Message.ToString() != "No Data" && ex.Message.ToString() != "Limit") { ExceptionLog exceptionLog = new ExceptionLog { ExceptionText = "Reports: " + ex.Message, PageName = "TracerCompliance", MethodName = "TracerComplianceRDLC", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; _exceptionService.LogException(exceptionLog); } throw ex; } return(reportViewer); }
/// <summary> /// /// </summary> /// <param name="search"></param> /// <param name="reporttype">1 = Chart, 2 = Data</param> /// <returns></returns> public byte[] TracerByCMSIE(Search search, int reportType, string filtereddataTag = "", string SortBy = "", string SortOrder = "") { string rdlcName = String.Empty; string dsName = String.Empty; ReportParameterCollection reportParameterCollection = null; DataView dv = null; SearchFormat sf = new SearchFormat(); sf.CheckInputs(search); byte[] fileContents = null; try { if (AppSession.ReportScheduleID > 0) { search.ReportTitle = String.Concat(search.ReportTitle, " - Report ID: ", AppSession.ReportScheduleID); } search.ReportDateTitle = CommonService.InitializeReportDateTitle("Tracer", search.StartDate, search.EndDate); search.EndDate = (search.EndDate != null && search.EndDate.ToString() != "") ? search.EndDate.Value.Date.AddHours(23).AddMinutes(29).AddSeconds(59) : search.EndDate; // Setup ReportViewer ReportViewer reportViewer = new ReportViewer(); reportViewer.ProcessingMode = ProcessingMode.Local; reportViewer.SizeToReportContent = true; reportViewer.LocalReport.DisplayName = search.ReportTitle; switch (reportType) { case 1: // By Chart (with Graph) default: { rdlcName = "rptReportTracerByCMSChart.rdlc"; if (reportType == (int)WebConstants.ReportFormat.EXCEL) { rdlcName = "rptReportTracerByCMSChartExcel.rdlc"; } dsName = "dsReport_TracerByCMSChart"; // Will pick this data set for Excel dv = new DataView(TracerByCMSGraph(search).Tables[0]); if (filtereddataTag == "") { filtereddataTag = "0"; } // DataView dv = new DataView(dt); dv.RowFilter = "TagID IN (" + filtereddataTag + ")"; if (SortBy != "") { dv.Sort = SortBy + " " + SortOrder; } break; } case 2: // By Detail Data { rdlcName = "rptReportTracerByCMSExcel.rdlc"; dsName = "dsReport_TracerByCMS"; // Will pick this data set for Excel dv = new DataView(TracerByCMSData(search).Tables[0]); break; } } // Setup Data sources for report reportViewer.LocalReport.DataSources.Clear(); reportViewer.LocalReport.ReportPath = HttpContext.Current.Request.MapPath(HttpContext.Current.Request.ApplicationPath) + @"Areas\Tracer\Reports\" + rdlcName.ToString(); reportViewer.LocalReport.DataSources.Add(new ReportDataSource(dsName, dv)); if (reportType == (int)WebConstants.ReportFormat.EXCEL) { // Setup Parameter DataSet DataSet reportParameters = CommonService.ReportParameters(); // Excel view here // Add Parameter Data Set reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_SiteName, AppSession.SelectedSiteName, "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_ProgramName, AppSession.SelectedProgramName, "1"); if (AppSession.IsCMSProgram) { reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_TracerType, "TJC", "1"); } reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_TracerCategories, search.TracerCategoryNames.ToString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_ChapterNames, search.TracerChapterNames.ToString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_ReportType, search.ReportType.ToString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_CMSTagNames, search.TracerCMSTagsNames.ToString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_StartDate, search.StartDate == null ? "" : Convert.ToDateTime(search.StartDate).ToShortDateString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_IncludeCompliancePercent, search.IncludeNonCompliantOpportunities ? "True" : "False", "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_CompliancePercent, search.OpportunitiesValue.ToString(), "1"); // Add Parameters as Data source DataView dvReport2 = new DataView(reportParameters.Tables[0]); ReportDataSource datasource2 = new ReportDataSource("dsReport_Parameters", dvReport2); reportViewer.LocalReport.DataSources.Add(datasource2); } ReportParameter p1 = new ReportParameter("ReportTitle", search.ReportTitle); ReportParameter p2 = new ReportParameter("SiteName", AppSession.SelectedSiteName); ReportParameter p3 = new ReportParameter("ProgramName", AppSession.SelectedProgramName); ReportParameter p4 = new ReportParameter("ReportDateTitle", search.ReportDateTitle.ToString()); ReportParameter p5 = new ReportParameter("Copyright", "© " + DateTime.Now.Year.ToString() + WebConstants.Tracer_Copyright.ToString()); ReportParameter p6 = new ReportParameter("OrgType1Header", AppSession.OrgRanking1Name.ToString()); // Provide OrgType Rank 1 Name header (e.g., Department) ReportParameter p7 = new ReportParameter("OrgType2Header", AppSession.OrgRanking2Name.ToString()); // Provide OrgType Rank 2 Name column header or blank if none ReportParameter p8 = new ReportParameter("OrgType3Header", AppSession.OrgRanking3Name.ToString()); // Provide OrgType Rank 2 Name column header or blank if none ReportParameter p9 = new ReportParameter("OrgRank1Names", search.OrgTypeLevel1Names.ToString()); // Filtered Rank 1 Org Names or blank string for all ReportParameter p10 = new ReportParameter("OrgRank2Names", search.OrgTypeLevel2Names.ToString()); // Filtered Rank 2 Org Names or blank string for all ReportParameter p11 = new ReportParameter("OrgRank3Names", search.OrgTypeLevel3Names.ToString()); // Filtered Rank 3 Org Names or blank string for all ReportParameter p17 = new ReportParameter("IsCMSProgram", AppSession.IsCMSProgram ? "1" : "0"); if (reportType == (int)WebConstants.ReportFormat.PDF) { // Add extra Parameters for PDF version - these go to header of report; If Excel they are in second data set ReportParameter p12 = new ReportParameter("CategoryNames", search.TracerCategoryNames.ToString()); ReportParameter p13 = new ReportParameter("ChapterNames", search.TracerChapterNames.ToString()); ReportParameter p14 = new ReportParameter("TagNames", search.TracerCMSTagsNames.ToString()); ReportParameter p15 = new ReportParameter("IncludeCompliancePercent", search.IncludeNonCompliantOpportunities ? "1" : "0"); ReportParameter p16 = new ReportParameter("CompliancePercent", search.OpportunitiesValue.ToString()); reportParameterCollection = new ReportParameterCollection { p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17 }; } else { reportParameterCollection = new ReportParameterCollection { p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p17 }; } reportViewer.LocalReport.SetParameters(reportParameterCollection); Warning[] warnings; string[] streamIds; string mimeType = string.Empty; string encoding = string.Empty; string extension = string.Empty; string format = "PDF"; // PDF is default if (reportType == (int)WebConstants.ReportFormat.EXCEL) { format = "EXCELOPENXML"; // If Excel option chosen } fileContents = reportViewer.LocalReport.Render(format, null, out mimeType, out encoding, out extension, out streamIds, out warnings); } catch (Exception ex) { throw ex; } return(fileContents); }
public ReportViewer _TracerObservationStatusRDLC(Search search, Email emailInput) { SearchFormat searchoutput = new SearchFormat(); searchoutput.CheckInputs(search); searchoutput.CheckInputs_TracerObsEnteredBy(search); string msg = String.Empty; if (AppSession.ReportScheduleID > 0) { search.ReportTitle = String.Concat(search.ReportTitle, " - Report ID: ", AppSession.ReportScheduleID); } #region Start and End Dates are Queried to Derive Report Date Title if (search.StartDate != null && search.EndDate != null) { search.ReportDateTitle = "Tracer updates for " + search.StartDate.Value.ToShortDateString() + " - " + search.EndDate.Value.ToShortDateString(); search.EndDate = search.EndDate.Value.Date.AddHours(23).AddMinutes(29).AddSeconds(59); } else if (search.StartDate != null && search.EndDate == null) { search.ReportDateTitle = "Tracer updates since " + search.StartDate.Value.ToShortDateString(); } else if (search.StartDate == null && search.EndDate != null) { search.ReportDateTitle = "Tracers updates through " + search.EndDate.Value.ToShortDateString(); search.EndDate = search.EndDate.Value.Date.AddHours(23).AddMinutes(29).AddSeconds(59); } else { search.ReportDateTitle = "All Tracer Dates"; } #endregion ReportViewer reportViewer = new ReportViewer(); reportViewer.ProcessingMode = ProcessingMode.Local; reportViewer.SizeToReportContent = true; try { // Mark Orlando: Regarding the SPs: dsReport_TracerObservationStatus and dsReport_TracerObservationStatusByMonth // 1. Both SPs have the exact same set of input parameters. // 2. dsReport_TracerObservationStatus returns 1 result set. // 3. dsReport_TracerObservationStatusByMonth returns 2 result sets. ReportParameter p1 = new ReportParameter("Copyright", "© " + DateTime.Now.Year.ToString() + WebConstants.Tracer_Copyright.ToString()); ReportParameter p2 = new ReportParameter("EnteredByNames", search.EnteredByNames); ReportParameter p3 = new ReportParameter("OrgType1Header", AppSession.OrgRanking1Name.ToString()); ReportParameter p4 = new ReportParameter("OrgType2Header", AppSession.OrgRanking2Name.ToString()); ReportParameter p5 = new ReportParameter("OrgType3Header", AppSession.OrgRanking3Name.ToString()); ReportParameter p6 = new ReportParameter("OrgTypeLeveI1Names", search.OrgTypeLevel1Names.ToString()); ReportParameter p7 = new ReportParameter("OrgTypeLevel2Names", search.OrgTypeLevel2Names.ToString()); ReportParameter p8 = new ReportParameter("OrgTypeLevel3Names", search.OrgTypeLevel3Names.ToString()); ReportParameter p9 = new ReportParameter("ProgramName", AppSession.SelectedProgramName); ReportParameter p10 = new ReportParameter("ReportDateTitle", search.ReportDateTitle); ReportParameter p11 = new ReportParameter("ReportTitle", search.ReportTitle); ReportParameter p12 = new ReportParameter("ResponseStatusName", search.ObservationStatusName); ReportParameter p13 = new ReportParameter("SiteName", AppSession.SelectedSiteName); ReportParameter p14 = new ReportParameter("TracerCategories", search.TracerCategoryNames.ToString()); ReportParameter p15 = new ReportParameter("TracerName", search.TracerListNames); // search.TracerListNames.ToString()); var reportType = (ObservationStatusReportType)Enum.Parse(typeof(ObservationStatusReportType), search.ObservationStatusReportType); reportViewer.LocalReport.DisplayName = search.ReportTitle; if (reportType == ObservationStatusReportType.Monthly) { reportViewer.LocalReport.ReportPath = HttpContext.Current.Request.MapPath(HttpContext.Current.Request.ApplicationPath) + @"Areas\Tracer\Reports\rptReportTracerObservationStatusByMonth.rdlc"; int maxResponseCount = 0; DataSet ds = ReportTracerObservationStatusByMonth(search, out maxResponseCount); ReportParameter p16 = new ReportParameter("MaxTracerResponseCount", maxResponseCount.ToString()); ReportParameter p17 = new ReportParameter("IsCMSProgram", AppSession.IsCMSProgram ? "1" : "0"); reportViewer.LocalReport.DataSources.Add(new ReportDataSource("dsReport_TracerObservationStatusByMonth", ds.Tables[0])); ReportParameterCollection reportParameterCollection = new ReportParameterCollection { p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17 }; reportViewer.LocalReport.SetParameters(reportParameterCollection); } else { ReportParameter p16 = new ReportParameter("IsCMSProgram", AppSession.IsCMSProgram ? "1" : "0"); reportViewer.LocalReport.ReportPath = HttpContext.Current.Request.MapPath(HttpContext.Current.Request.ApplicationPath) + @"Areas\Tracer\Reports\rptReportTracerObservationStatus.rdlc"; reportViewer.LocalReport.DataSources.Add(new ReportDataSource("dsReport_TracerObservationStatus", ReportTracerObservationStatus(search).Tables[0])); ReportParameterCollection reportParameterCollection = new ReportParameterCollection { p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16 }; reportViewer.LocalReport.SetParameters(reportParameterCollection); } CommonService setRdlcEmail = new CommonService(); setRdlcEmail.SetRdlcEmail(reportViewer); if (emailInput.To != null) { CommonService emailService = new CommonService(); int actionTypeId = (int)ActionTypeEnum.ObservationStatusReport; if (emailService.SendReportEmail(emailInput, actionTypeId, emailService.SetRdlcEmail(reportViewer))) { // Do Nothing } else { throw (new Exception("Email")); } } } catch (Exception ex) { if (ex.Message.ToString() != "No Data" && ex.Message.ToString() != "Limit") { ExceptionLog exceptionLog = new ExceptionLog { ExceptionText = "Reports: " + ex.Message, PageName = "TracerObservationStatus", MethodName = "_tracerobservationstatusRDLC", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; _exceptionService.LogException(exceptionLog); } throw; } return(reportViewer); }
public ReportViewer TracerByEPRDLC(Search search, Email emailInput) { SearchFormat sf = new SearchFormat(); sf.CheckInputs(search); string msg = String.Empty; string rdlcName = String.Empty; string dsName = String.Empty; if (AppSession.ReportScheduleID > 0) { search.ReportTitle = String.Concat(search.ReportTitle, " - Report ID: ", AppSession.ReportScheduleID); } if (search.StartDate != null && search.EndDate != null) { search.ReportDateTitle = "Tracer updates for " + search.StartDate.Value.ToShortDateString() + " - " + search.EndDate.Value.ToShortDateString(); search.EndDate = search.EndDate.Value.Date.AddHours(23).AddMinutes(29).AddSeconds(59); } else if (search.StartDate != null && search.EndDate == null) { search.ReportDateTitle = "Tracer updates since " + search.StartDate.Value.ToShortDateString(); } else if (search.StartDate == null && search.EndDate != null) { search.ReportDateTitle = "Tracers updates through " + search.EndDate.Value.ToShortDateString(); search.EndDate = search.EndDate.Value.Date.AddHours(23).AddMinutes(29).AddSeconds(59); } else { search.ReportDateTitle = "All Tracer Dates"; } ReportViewer reportViewer = new ReportViewer(); reportViewer.ProcessingMode = ProcessingMode.Local; reportViewer.SizeToReportContent = true; string complianceHeader = string.Empty; try { switch (search.ReportGroupByType) { case "Standard": default: { rdlcName = @"Areas\Tracer\Reports\rptReportTracerByEPGroupByStandard.rdlc"; dsName = "dsReport_TracerByEPGroupByStandard"; complianceHeader = search.ReportGroupByType + ", "; break; } case "EP": { rdlcName = @"Areas\Tracer\Reports\rptReportTracerByEPGroupByEP.rdlc"; dsName = "dsReport_TracerByEPGroupByEP"; complianceHeader = search.ReportGroupByType + ", "; break; } case "EpWithDepartment": { rdlcName = @"Areas\Tracer\Reports\rptReportTracerByEPGroupByEPDept.rdlc"; dsName = "dsReport_TracerByEPGroupByEPDept"; complianceHeader = "EP with Department, "; break; } case "EPWithQuestions": { rdlcName = @"Areas\Tracer\Reports\rptReportTracerByEPGroupByEPQuestion.rdlc"; dsName = "dsReport_TracerByEPGroupByEPQuestion"; complianceHeader = "EP with Questions, "; break; } } switch (search.ReportType) { case "GraphOnly": complianceHeader = complianceHeader + "Graph only"; break; case "DataOnly": complianceHeader = complianceHeader + "Data only"; break; case "GraphandData": complianceHeader = complianceHeader + "Graph & Data"; break; case "ExcelView": complianceHeader = complianceHeader + "Excel View"; break; } reportViewer.LocalReport.DisplayName = search.ReportTitle; reportViewer.LocalReport.ReportPath = HttpContext.Current.Request.MapPath(HttpContext.Current.Request.ApplicationPath) + rdlcName; reportViewer.LocalReport.DataSources.Add(new ReportDataSource(dsName, TracerByEPData(search).Tables[0])); string standardHeader = "All"; if (search.TracerStandardIDs != "-1" || search.EPTextIDs != "-1") { DataView dvStandardHeader = new DataView(GetEPStandardHeader((int)AppSession.CycleID, AppSession.SelectedProgramId, search.TracerStandardIDs, search.EPTextIDs).Tables[0]); if (dvStandardHeader != null && dvStandardHeader.Count > 0) { standardHeader = dvStandardHeader[0]["StandardEPReportHeader"].ToString(); } } //Get the Organization Types header for the column header in RDLC CommonService oService = new CommonService(); string sCategoryTitle = oService.OrganizationTypesHeader(); string[] stringSeparators = new string[] { " > " }; string[] result; // Split a string delimited by another string and return all elements. result = sCategoryTitle.Split(stringSeparators, StringSplitOptions.None); Array.Reverse(result); if (result.Length >= 1) { AppSession.OrgRanking1Name = result[0].ToString(); } else { AppSession.OrgRanking1Name = ""; } if (result.Length >= 2) { AppSession.OrgRanking2Name = result[1].ToString(); } else { AppSession.OrgRanking2Name = ""; } if (result.Length >= 3) { AppSession.OrgRanking3Name = result[2].ToString(); } else { AppSession.OrgRanking3Name = ""; } ReportParameter p1 = new ReportParameter("ReportTitle", search.ReportTitle); ReportParameter p2 = new ReportParameter("SiteName", AppSession.SelectedSiteName); ReportParameter p3 = new ReportParameter("ProgramName", AppSession.SelectedProgramName); ReportParameter p4 = new ReportParameter("ReportDateTitle", search.ReportDateTitle.ToString()); ReportParameter p5 = new ReportParameter("Copyright", "© " + DateTime.Now.Year.ToString() + WebConstants.Tracer_Copyright.ToString()); ReportParameter p6 = new ReportParameter("CategoryNames", search.TracerCategoryNames.ToString()); ReportParameter p7 = new ReportParameter("ReportDisplay", ((int)Enum.Parse(typeof(ReportType), search.ReportType)).ToString()); ReportParameter p8 = new ReportParameter("ShowCMS", search.IncludeCMS ? "1" : "0"); ReportParameter p9 = new ReportParameter("Not100PercentCompliance", search.IncludeNonCompliantOpportunities ? "1" : "0"); ReportParameter p10 = new ReportParameter("ComplianceHeader", complianceHeader); ReportParameter p11 = new ReportParameter("StandardEPReportHeader", standardHeader); ReportParameter p12 = new ReportParameter("OrgType1Header", AppSession.OrgRanking1Name.ToString()); // Provide OrgType Rank 1 Name header (e.g., Department) ReportParameter p13 = new ReportParameter("OrgType2Header", AppSession.OrgRanking2Name.ToString()); // Provide OrgType Rank 2 Name column header or blank if none ReportParameter p14 = new ReportParameter("OrgType3Header", AppSession.OrgRanking3Name.ToString()); // Provide OrgType Rank 2 Name column header or blank if none ReportParameter p15 = new ReportParameter("OrgRank1Names", search.OrgTypeLevel1Names.ToString()); // Filtered Rank 1 Org Names or blank string for all ReportParameter p16 = new ReportParameter("OrgRank2Names", search.OrgTypeLevel2Names.ToString()); // Filtered Rank 2 Org Names or blank string for all ReportParameter p17 = new ReportParameter("OrgRank3Names", search.OrgTypeLevel3Names.ToString()); // Filtered Rank 3 Org Names or blank string for all ReportParameter p18 = new ReportParameter("CompliancePercent", search.OpportunitiesValue.ToString()); ReportParameter p19 = new ReportParameter("InActiveOrgTypes", search.InActiveOrgTypes ? "0" : "1"); ReportParameter p20 = new ReportParameter("IsCMSProgram", AppSession.IsCMSProgram ? "1" : "0"); ReportParameterCollection reportParameterCollection = new ReportParameterCollection { p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20 }; reportViewer.LocalReport.SetParameters(reportParameterCollection); if (emailInput.To != null) { CommonService emailService = new CommonService(); int actionTypeId = (int)ActionTypeEnum.TracerByEPReport; if (emailService.SendReportEmail(emailInput, actionTypeId, emailService.SetRdlcEmail(reportViewer))) { // do nothing // left place holder for any other actions. } else { throw (new Exception("Email")); } } } catch (Exception ex) { if (ex.Message.ToString() != "No Data" && ex.Message.ToString() != "Limit") { ExceptionLog exceptionLog = new ExceptionLog { ExceptionText = "Reports: " + ex.Message, PageName = "TracerByEP", MethodName = "TracerByEPRDLC", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; _exceptionService.LogException(exceptionLog); } throw ex; } return(reportViewer); }
public byte[] TracerByEPDataIE(Search search) { string complianceHeader = string.Empty; SearchFormat sf = new SearchFormat(); sf.CheckInputs(search); byte[] fileContents = null; try { string rdlcName = rdlcName = @"Areas\Tracer\Reports\rptReportTracerByEPGroupByEPExcel.rdlc"; string dsName = "dsReport_TracerByEPGroupByEP"; var fulldt = TracerByEPData(search).Tables[0]; DataView dv = new DataView(fulldt); if (AppSession.ReportScheduleID > 0) { search.ReportTitle = String.Concat(search.ReportTitle, " - Report ID: ", AppSession.ReportScheduleID); } search.ReportDateTitle = CommonService.InitializeReportDateTitle("Tracer", search.StartDate, search.EndDate); search.EndDate = (search.EndDate != null && search.EndDate.ToString() != "") ? search.EndDate.Value.Date.AddHours(23).AddMinutes(29).AddSeconds(59) : search.EndDate; // Setup ReportViewer ReportViewer reportViewer = new ReportViewer(); reportViewer.ProcessingMode = ProcessingMode.Local; reportViewer.SizeToReportContent = true; reportViewer.LocalReport.DisplayName = search.ReportTitle; switch (search.ReportGroupByType) { case "Standard": default: { complianceHeader = search.ReportGroupByType + ", "; break; } case "EP": { complianceHeader = search.ReportGroupByType + ", "; break; } case "EpWithDepartment": { complianceHeader = "EP with Department, "; break; } case "EPWithQuestions": { complianceHeader = "EP with Questions, "; break; } } switch (search.ReportType) { case "GraphOnly": complianceHeader = complianceHeader + "Graph only"; break; case "DataOnly": complianceHeader = complianceHeader + "Data only"; break; case "GraphandData": complianceHeader = complianceHeader + "Graph & Data"; break; case "ExcelView": complianceHeader = complianceHeader + "Excel View"; break; } reportViewer.LocalReport.DisplayName = search.ReportTitle; reportViewer.LocalReport.ReportPath = HttpContext.Current.Request.MapPath(HttpContext.Current.Request.ApplicationPath) + rdlcName; reportViewer.LocalReport.DataSources.Add(new ReportDataSource(dsName, TracerByEPData(search).Tables[0])); // Setup Parameter DataSet DataSet reportParameters = CommonService.ReportParameters(); // Excel view here // Add Parameter Data Set reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_SiteName, AppSession.SelectedSiteName, "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_ProgramName, AppSession.SelectedProgramName, "1"); if (AppSession.IsCMSProgram) { reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_TracerType, "TJC", "1"); } reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_TracerCategories, search.TracerCategoryNames.ToString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_ReportType, search.ReportType.ToString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_ReportGroupByType, search.ReportGroupByType.ToString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_StartDate, search.StartDate == null ? "" : Convert.ToDateTime(search.StartDate).ToShortDateString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_EndDate, search.EndDate == null ? "" : Convert.ToDateTime(search.EndDate).ToShortDateString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_ChapterNames, search.TracerChapterNames.ToString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_StandardLabels, search.TracerStandardNames.ToString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_EPLabels, search.StandardLabelAndEPLabels.ToString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_IncludeCompliancePercent, search.IncludeNonCompliantOpportunities ? "True" : "False", "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_CompliancePercent, search.OpportunitiesValue.ToString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_ShowCMS, search.IncludeCMS ? "True" : "False", "1"); reportParameters.Tables[0].Rows.Add(CommonService.GetOrgHeader(), search.InActiveOrgTypes ? "True" : "False", "1"); reportParameters.Tables[0].Rows.Add(AppSession.OrgRanking1Name, search.OrgTypeLevel1Names, "1"); if (AppSession.OrgRanking2Name != "") { reportParameters.Tables[0].Rows.Add(AppSession.OrgRanking2Name, search.OrgTypeLevel2Names, "1"); } if (AppSession.OrgRanking3Name != "") { reportParameters.Tables[0].Rows.Add(AppSession.OrgRanking3Name, search.OrgTypeLevel3Names, "1"); } reportParameters.Tables[0].Rows.Add(CommonService.GetOrgHeader(), search.InActiveOrgTypes ? "True" : "False", "1"); // Add Parameters as Data source DataView dvReport2 = new DataView(reportParameters.Tables[0]); ReportDataSource datasource2 = new ReportDataSource("dsReport_Parameters", dvReport2); reportViewer.LocalReport.DataSources.Add(datasource2); string standardHeader = "All"; if (search.TracerStandardIDs != "-1" || search.EPTextIDs != "-1") { DataView dvStandardHeader = new DataView(GetEPStandardHeader((int)AppSession.CycleID, AppSession.SelectedProgramId, search.TracerStandardIDs, search.EPTextIDs).Tables[0]); if (dvStandardHeader != null && dvStandardHeader.Count > 0) { standardHeader = dvStandardHeader[0]["StandardEPReportHeader"].ToString(); } } //Get the Organization Types header for the column header in RDLC CommonService oService = new CommonService(); string sCategoryTitle = oService.OrganizationTypesHeader(); string[] stringSeparators = new string[] { " > " }; string[] result; // Split a string delimited by another string and return all elements. result = sCategoryTitle.Split(stringSeparators, StringSplitOptions.None); Array.Reverse(result); if (result.Length >= 1) { AppSession.OrgRanking1Name = result[0].ToString(); } else { AppSession.OrgRanking1Name = ""; } if (result.Length >= 2) { AppSession.OrgRanking2Name = result[1].ToString(); } else { AppSession.OrgRanking2Name = ""; } if (result.Length >= 3) { AppSession.OrgRanking3Name = result[2].ToString(); } else { AppSession.OrgRanking3Name = ""; } ReportParameter p1 = new ReportParameter("ReportTitle", search.ReportTitle); ReportParameter p2 = new ReportParameter("SiteName", AppSession.SelectedSiteName); ReportParameter p3 = new ReportParameter("ProgramName", AppSession.SelectedProgramName); ReportParameter p4 = new ReportParameter("ReportDateTitle", search.ReportDateTitle.ToString()); ReportParameter p5 = new ReportParameter("Copyright", "© " + DateTime.Now.Year.ToString() + WebConstants.Tracer_Copyright.ToString()); ReportParameter p6 = new ReportParameter("CategoryNames", search.TracerCategoryNames.ToString()); ReportParameter p7 = new ReportParameter("ReportDisplay", ((int)Enum.Parse(typeof(ReportType), search.ReportType)).ToString()); ReportParameter p8 = new ReportParameter("ShowCMS", search.IncludeCMS ? "1" : "0"); ReportParameter p9 = new ReportParameter("Not100PercentCompliance", search.IncludeNonCompliantOpportunities ? "1" : "0"); ReportParameter p10 = new ReportParameter("ComplianceHeader", complianceHeader); ReportParameter p11 = new ReportParameter("StandardEPReportHeader", standardHeader); ReportParameter p12 = new ReportParameter("OrgType1Header", AppSession.OrgRanking1Name.ToString()); // Provide OrgType Rank 1 Name header (e.g., Department) ReportParameter p13 = new ReportParameter("OrgType2Header", AppSession.OrgRanking2Name.ToString()); // Provide OrgType Rank 2 Name column header or blank if none ReportParameter p14 = new ReportParameter("OrgType3Header", AppSession.OrgRanking3Name.ToString()); // Provide OrgType Rank 2 Name column header or blank if none ReportParameter p15 = new ReportParameter("OrgRank1Names", search.OrgTypeLevel1Names.ToString()); // Filtered Rank 1 Org Names or blank string for all ReportParameter p16 = new ReportParameter("OrgRank2Names", search.OrgTypeLevel2Names.ToString()); // Filtered Rank 2 Org Names or blank string for all ReportParameter p17 = new ReportParameter("OrgRank3Names", search.OrgTypeLevel3Names.ToString()); // Filtered Rank 3 Org Names or blank string for all ReportParameter p18 = new ReportParameter("CompliancePercent", search.OpportunitiesValue.ToString()); ReportParameter p19 = new ReportParameter("InActiveOrgTypes", search.InActiveOrgTypes ? "0" : "1"); ReportParameter p20 = new ReportParameter("IsCMSProgram", AppSession.IsCMSProgram ? "1" : "0"); ReportParameterCollection reportParameterCollection = new ReportParameterCollection { p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20 }; reportViewer.LocalReport.SetParameters(reportParameterCollection); Warning[] warnings; string[] streamIds; string mimeType = string.Empty; string encoding = string.Empty; string extension = string.Empty; fileContents = reportViewer.LocalReport.Render("EXCELOPENXML", null, out mimeType, out encoding, out extension, out streamIds, out warnings); } catch (Exception ex) { throw ex; } return(fileContents); }
public ReportViewer _departmentcomparativeanalysisRDLC(Search search, Email emailInput) { SearchFormat searchoutput = new SearchFormat(); searchoutput.CheckInputs(search); if (AppSession.ReportScheduleID > 0) { search.ReportTitle = String.Concat(search.ReportTitle, " - Report ID: ", AppSession.ReportScheduleID); } if (search.StartDate != null && search.EndDate != null) { search.ReportDateTitle = "Tracer updates for " + search.StartDate.Value.ToShortDateString() + " - " + search.EndDate.Value.ToShortDateString(); } else if (search.StartDate != null && search.EndDate == null) { search.ReportDateTitle = "Tracer updates since " + search.StartDate.Value.ToShortDateString(); } else if (search.StartDate == null && search.EndDate != null) { search.ReportDateTitle = "Tracers updates through " + search.EndDate.Value.ToShortDateString(); } else { search.ReportDateTitle = "All Tracer Dates"; } ReportViewer reportViewer = new ReportViewer(); reportViewer.ProcessingMode = ProcessingMode.Local; reportViewer.SizeToReportContent = true; try { reportViewer.LocalReport.DisplayName = search.ReportTitle; reportViewer.LocalReport.ReportPath = HttpContext.Current.Request.MapPath(HttpContext.Current.Request.ApplicationPath) + @"Areas\Tracer\Reports\rptReportDepartmentComparativeAnalysis.rdlc"; reportViewer.LocalReport.DataSources.Add(new ReportDataSource("dsReport_DepartmentComparativeAnalysisData", ReportDepartmentComparativeAnalysisData(search).Tables[0])); if (search.IncludeNonCompliantOpportunities) { // We wish to get Opportunities her eso read the data set. reportViewer.LocalReport.DataSources.Add(new ReportDataSource("dsReport_DepartmentComparativeAnalysisOpportunities", ReportDepartmentComparativeAnalysisOpportunities(search, false).Tables[0])); } else { // We pass a blank dataset if NonCompliant Opportunities are not required for this report DataSet ds = new DataSet(); ds.ReadXml(HttpContext.Current.Server.MapPath("~/App_Data/dsReport_DepartmentComparativeAnalysisOpportunities.xsd")); reportViewer.LocalReport.DataSources.Add(new ReportDataSource("dsReport_DepartmentComparativeAnalysisOpportunities", ds.Tables[0])); } ReportParameter p1 = new ReportParameter("ReportDisplayType", ((int)Enum.Parse(typeof(ReportType), search.ReportType)).ToString()); ReportParameter p2 = new ReportParameter("ProgramName", AppSession.SelectedProgramName); ReportParameter p3 = new ReportParameter("SiteName", AppSession.SelectedSiteName); ReportParameter p4 = new ReportParameter("OrgType1Header", AppSession.OrgRanking1Name.ToString()); // Provide OrgType Rank 1 Name header (e.g., Department) ReportParameter p5 = new ReportParameter("OrgType2Header", AppSession.OrgRanking2Name.ToString()); // Provide OrgType Rank 2 Name column header or blank if none ReportParameter p6 = new ReportParameter("OrgType3Header", AppSession.OrgRanking3Name.ToString()); // Provide OrgType Rank 2 Name column header or blank if none ReportParameter p7 = new ReportParameter("OrgRank1Names", search.OrgTypeLevel1Names.ToString()); // Filtered Rank 1 Org Names or blank string for all ReportParameter p8 = new ReportParameter("OrgRank2Names", search.OrgTypeLevel2Names.ToString()); // Filtered Rank 2 Org Names or blank string for all ReportParameter p9 = new ReportParameter("OrgRank3Names", search.OrgTypeLevel3Names.ToString()); // Filtered Rank 3 Org Names or blank string for all ReportParameter p10 = new ReportParameter("TracerCategories", search.TracerCategoryNames.ToString()); // Filterd Tracercategories or blank for all ReportParameter p11 = new ReportParameter("TracerName", search.TracerListNames.ToString()); // Filtered Tracer Names or blank for all ReportParameter p12 = new ReportParameter("ReportTitle", search.ReportTitle); // Report title from DB ReportParameter p13 = new ReportParameter("ReportDateTitle", search.ReportDateTitle.ToString()); // Computed start/end date string for date range title ReportParameter p14 = new ReportParameter("Copyright", "© " + DateTime.Now.Year.ToString() + WebConstants.Tracer_Copyright.ToString()); ReportParameter p15 = new ReportParameter("IncludeCompliancePercent", search.IncludeNonCompliantOpportunities ? "1" : "0"); ReportParameter p16 = new ReportParameter("CompliancePercent", search.OpportunitiesValue.ToString()); ReportParameter p17 = new ReportParameter("IncludeDeptNoCompObs", search.IncludeDeptNoCompObs ? "1" : "0"); ReportParameter p18 = new ReportParameter("TracerTypeID", search.TracerTypeID < 1 ? "1" : search.TracerTypeID.ToString()); ReportParameter p19 = new ReportParameter("IsCMSEnabled", AppSession.IsCMSProgram ? "1" : "0"); ReportParameterCollection reportParameterCollection = new ReportParameterCollection { p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19 }; reportViewer.LocalReport.SetParameters(reportParameterCollection); if (emailInput.To != null) { CommonService emailService = new CommonService(); int actionTypeId = (int)ActionTypeEnum.DepartmentComparativeAnalysisReport; if (emailService.SendReportEmail(emailInput, actionTypeId, emailService.SetRdlcEmail(reportViewer))) { // do nothing // left place holder for any other actions. } else { throw (new Exception("Email")); } } } catch (Exception ex) { if (ex.Message.ToString() != "No Data" && ex.Message.ToString() != "Limit") { ExceptionLog exceptionLog = new ExceptionLog { ExceptionText = "Reports: " + ex.Message, PageName = "DepartmentComparativeAnalysis", MethodName = "_departmentcomparativeanalysisRDLC", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; _exceptionService.LogException(exceptionLog); } throw; } return(reportViewer); }
public ReportViewer EPAssignmentScoringRDLC(SearchEPAssignmentScoringParams searchParams, Email emailInput, string reportType = "Summary") { DateTime?startDate = null; DateTime?endDate = null; string reportDate = "All Dates"; SearchFormat searchoutput = new SearchFormat(); if (searchParams.DateStart != null) { startDate = searchParams.DateStart; if (searchParams.DateEnd != null) { reportDate = searchParams.DateStart.Value.ToShortDateString() + " - " + searchParams.DateEnd.Value.ToShortDateString(); } else { reportDate = "since " + searchParams.DateStart.Value.ToShortDateString(); } } if (searchParams.DateEnd != null) { endDate = searchParams.DateEnd.Value.Date.AddHours(23).AddMinutes(59).AddSeconds(59); if (searchParams.DateStart == null) { reportDate = "through " + searchParams.DateEnd.Value.ToShortDateString(); } } ReportViewer reportViewer = new ReportViewer(); reportViewer.ProcessingMode = ProcessingMode.Local; reportViewer.SizeToReportContent = true; try { if (AppSession.ReportScheduleID > 0 && searchParams.ReportTitle != null) { searchParams.ReportTitle = String.Concat(searchParams.ReportTitle, " - Report ID: ", AppSession.ReportScheduleID); } else { if (reportType == "Summary") { searchParams.ReportTitle = "Individual and Preliminary Scoring - Summary"; } else { searchParams.ReportTitle = "Individual and Preliminary Scoring - Detail"; } } string rdlcfilename = string.Empty; string dsName = string.Empty; if (reportType == "Summary") { rdlcfilename = "rptEP_Assignment_Scoring_Summary.rdlc"; dsName = "dsEPAssignmentScoringSummary"; } else { rdlcfilename = "rptEP_Assignment_Scoring_Detail.rdlc"; dsName = "dsEPAssignmentScoringDetail"; } DataView dvReportResultForEPScoring = new DataView(GetReportDataView(searchParams, reportType).Tables[0]); reportViewer.LocalReport.DisplayName = searchParams.ReportTitle; reportViewer.LocalReport.ReportPath = HttpContext.Current.Request.MapPath(HttpContext.Current.Request.ApplicationPath) + @"Areas\Corporate\Reports\" + rdlcfilename; reportViewer.LocalReport.DataSources.Add(new ReportDataSource(dsName, dvReportResultForEPScoring)); string filterBy = string.Empty; if (searchParams.FSA == 1) { filterBy = "\nInclude FSA Eps"; } if (searchParams.DocRequiredValue == 1) { filterBy += "\nDocumentation Required"; } if (searchParams.NewChangedEPs == 1) { filterBy += "\nNew Eps"; } searchParams.ScoreTypeNameList = string.Empty; if (searchParams.ScoreTypeList.Contains("1")) { searchParams.ScoreTypeNameList = "Individual, "; } if (searchParams.ScoreTypeList.Contains("2")) { searchParams.ScoreTypeNameList += "Preliminary"; } searchParams.ScoreValueNameList = string.Empty; if (searchParams.ScoreValueList.Contains("2")) { searchParams.ScoreValueNameList = "Satisfactory, "; } if (searchParams.ScoreValueList.Contains("0")) { searchParams.ScoreValueNameList += "Insufficient, "; } if (searchParams.ScoreValueList.Contains("6")) { searchParams.ScoreValueNameList += "Not Applicable, "; } if (searchParams.ScoreValueList.Contains("99")) { searchParams.ScoreValueNameList += "Not Scored"; } string assignmentStatus = string.Empty; if (searchParams.EPAssigned == 1) { assignmentStatus = "Assigned, "; } if (searchParams.EPNotAssigned == 1) { assignmentStatus += "Not Assigned"; } ReportParameter p1 = new ReportParameter("ReportTitle", searchParams.ReportTitle); ReportParameter p2 = new ReportParameter("Copyright", "© " + DateTime.Now.Year.ToString() + WebConstants.Copyright.ToString()); ReportParameter p3 = new ReportParameter("ProgramName", searchParams.ProgramName); ReportParameter p4 = new ReportParameter("SiteName", searchParams.SiteName); ReportParameter p5 = new ReportParameter("ReportDateTitle", DateTime.Now.ToString()); ReportParameter p6 = new ReportParameter("ChapterNameList", searchParams.ChapterNameList); ReportParameter p7 = new ReportParameter("StandardNameList", searchParams.StandardNameList); ReportParameter p8 = new ReportParameter("AssignedToNameList", searchParams.AssignedToNameList); ReportParameter p9 = new ReportParameter("AssignmentPeriod", reportDate); ReportParameter p10 = new ReportParameter("ScoreValueNameList", Regex.Replace(searchParams.ScoreValueNameList, ", $", "")); ReportParameter p11 = new ReportParameter("ScoreTypeNameList", Regex.Replace(searchParams.ScoreTypeNameList, ", $", "")); ReportParameter p12 = new ReportParameter("FilterByList", filterBy == "" ? "None" : filterBy); string DocumentationList = string.Empty; if (searchParams.OrgFindings == 1) { DocumentationList = "All Organizational Findings\n"; } else if (searchParams.OrgFindings == 2) { DocumentationList = "Presence of Organizational Findings\n"; } else if (searchParams.OrgFindings == 3) { DocumentationList = "Absence of Organizational Findings\n"; } if (searchParams.PlanOfAction == 1) { DocumentationList = DocumentationList + "All Plan of Action\n"; } else if (searchParams.PlanOfAction == 2) { DocumentationList = DocumentationList + "Presence of Plan of Action\n"; } else if (searchParams.PlanOfAction == 3) { DocumentationList = DocumentationList + "Absence of Plan of Action\n"; } if (searchParams.OrgNotes == 1) { DocumentationList = DocumentationList + "All Internal Notes\n"; } else if (searchParams.OrgNotes == 2) { DocumentationList = DocumentationList + "Presence of Internal Notes\n"; } else if (searchParams.OrgNotes == 3) { DocumentationList = DocumentationList + "Absence of Internal Notes\n"; } if (searchParams.LinkedDocs == 1) { DocumentationList = DocumentationList + "All Linked Documents\n"; } else if (searchParams.LinkedDocs == 2) { DocumentationList = DocumentationList + "Presence of Linked Documents\n"; } else if (searchParams.LinkedDocs == 3) { DocumentationList = DocumentationList + "Absence of Linked Documents"; } ReportParameter p13 = new ReportParameter("DocumentationList", DocumentationList); ReportParameter p14 = new ReportParameter("AssignmentStatus", Regex.Replace(assignmentStatus, ", $", "")); ReportParameter p15 = new ReportParameter("ProgramID", searchParams.ProgramID.ToString()); ReportParameter p16 = new ReportParameter("IncludeCMS", searchParams.chkIncludeCMS.ToString()); ReportParameterCollection reportParameterCollection = new ReportParameterCollection { p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16 }; reportParameterCollection.Add(new ReportParameter("EPAssigned", searchParams.EPAssigned.ToString())); reportViewer.LocalReport.SetParameters(reportParameterCollection); if (emailInput.To != null) { CommonService emailService = new CommonService(); int actionTypeId = (int)ActionTypeEnum.EPAssignmentReport; if (emailService.SendReportEmail(emailInput, actionTypeId, emailService.SetRdlcEmail(reportViewer))) { HttpContext.Current.Session["EmailSuccess"] = "true"; } else { HttpContext.Current.Session["EmailSuccess"] = "false"; } } } catch (Exception ex) { if (ex.Message.ToString() != "No Data") { ExceptionLog exceptionLog = new ExceptionLog { ExceptionText = "Reports: " + ex.Message, PageName = "EPAssignmentScoringSummary", MethodName = "EPAssignmentScoringSummaryRDLC", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; _exceptionService.LogException(exceptionLog); } throw ex; } return(reportViewer); }
public byte[] DepartmentComparativeAnalysisOppExcelIE8(Search search) { SearchFormat sf = new SearchFormat(); sf.CheckInputs(search); byte[] fileContents = null; try { var fulldt = ReportDepartmentComparativeAnalysisOpportunities(search, false).Tables[0]; DataView dv = new DataView(fulldt); if (AppSession.ReportScheduleID > 0) { search.ReportTitle = String.Concat(search.ReportTitle, " - Report ID: ", AppSession.ReportScheduleID); } search.ReportDateTitle = CommonService.InitializeReportDateTitle("Tracer", search.StartDate, search.EndDate); search.EndDate = (search.EndDate != null && search.EndDate.ToString() != "") ? search.EndDate.Value.Date.AddHours(23).AddMinutes(29).AddSeconds(59) : search.EndDate; // Setup ReportViewer ReportViewer reportViewer = new ReportViewer(); reportViewer.ProcessingMode = ProcessingMode.Local; reportViewer.SizeToReportContent = true; reportViewer.LocalReport.DisplayName = search.ReportTitle; // Setup Data sources for report reportViewer.LocalReport.DataSources.Clear(); reportViewer.LocalReport.ReportPath = HttpContext.Current.Request.MapPath(HttpContext.Current.Request.ApplicationPath) + @"Areas\Tracer\Reports\rptReportDepartmentComparativeDetailsExcel.rdlc"; reportViewer.LocalReport.DataSources.Add(new ReportDataSource("dsReport_DepartmentComparativeAnalysisOpportunities", dv)); // Setup Parameter DataSet DataSet reportParameters = CommonService.ReportParameters(); // Excel view here // Add Parameter Data Set reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_SiteName, AppSession.SelectedSiteName, "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_ProgramName, AppSession.SelectedProgramName, "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_TracerCategories, search.TracerCategoryNames.ToString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_TracerName, search.TracerListNames.ToString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_StartDate, search.StartDate == null ? "" : Convert.ToDateTime(search.StartDate).ToShortDateString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_EndDate, search.EndDate == null ? "" : Convert.ToDateTime(search.EndDate).ToShortDateString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_IncludeCompliancePercent, search.IncludeNonCompliantOpportunities ? "True" : "False", "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_CompliancePercent, search.OpportunitiesValue.ToString(), "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_IncludeDeptNoCompObs, search.IncludeDeptNoCompObs ? "True" : "False", "1"); reportParameters.Tables[0].Rows.Add(WebConstants.PARAM_TracerType, search.TracerTypeID == 1 ? "TJC" : "CMS", "1"); reportParameters.Tables[0].Rows.Add(CommonService.GetOrgHeader(), search.InActiveOrgTypes ? "True" : "False", "1"); reportParameters.Tables[0].Rows.Add(AppSession.OrgRanking1Name, search.OrgTypeLevel1Names, "1"); if (AppSession.OrgRanking2Name != "") { reportParameters.Tables[0].Rows.Add(AppSession.OrgRanking2Name, search.OrgTypeLevel2Names, "1"); } if (AppSession.OrgRanking3Name != "") { reportParameters.Tables[0].Rows.Add(AppSession.OrgRanking3Name, search.OrgTypeLevel3Names, "1"); } // Add Parameters as Data source DataView dvReport2 = new DataView(reportParameters.Tables[0]); ReportDataSource datasource2 = new ReportDataSource("dsReport_Parameters", dvReport2); reportViewer.LocalReport.DataSources.Add(datasource2); ReportParameter p1 = new ReportParameter("ReportDisplayType", ((int)Enum.Parse(typeof(ReportType), search.ReportType)).ToString()); ReportParameter p2 = new ReportParameter("ProgramName", AppSession.SelectedProgramName); ReportParameter p3 = new ReportParameter("SiteName", AppSession.SelectedSiteName); ReportParameter p4 = new ReportParameter("OrgType1Header", AppSession.OrgRanking1Name.ToString()); // Provide OrgType Rank 1 Name header (e.g., Department) ReportParameter p5 = new ReportParameter("OrgType2Header", AppSession.OrgRanking2Name.ToString()); // Provide OrgType Rank 2 Name column header or blank if none ReportParameter p6 = new ReportParameter("OrgType3Header", AppSession.OrgRanking3Name.ToString()); // Provide OrgType Rank 2 Name column header or blank if none ReportParameter p7 = new ReportParameter("OrgRank1Names", search.OrgTypeLevel1Names.ToString()); // Filtered Rank 1 Org Names or blank string for all ReportParameter p8 = new ReportParameter("OrgRank2Names", search.OrgTypeLevel2Names.ToString()); // Filtered Rank 2 Org Names or blank string for all ReportParameter p9 = new ReportParameter("OrgRank3Names", search.OrgTypeLevel3Names.ToString()); // Filtered Rank 3 Org Names or blank string for all ReportParameter p10 = new ReportParameter("TracerCategories", search.TracerCategoryNames.ToString()); // Filterd Tracercategories or blank for all ReportParameter p11 = new ReportParameter("TracerName", search.TracerListNames.ToString()); // Filtered Tracer Names or blank for all ReportParameter p12 = new ReportParameter("ReportTitle", search.ReportTitle); // Report title from DB ReportParameter p13 = new ReportParameter("ReportDateTitle", search.ReportDateTitle.ToString()); // Computed start/end date string for date range title ReportParameter p14 = new ReportParameter("Copyright", "© " + DateTime.Now.Year.ToString() + WebConstants.Tracer_Copyright.ToString()); ReportParameter p15 = new ReportParameter("IncludeCompliancePercent", search.IncludeNonCompliantOpportunities ? "1" : "0"); ReportParameter p16 = new ReportParameter("CompliancePercent", search.OpportunitiesValue.ToString()); ReportParameter p17 = new ReportParameter("IncludeDeptNoCompObs", search.IncludeDeptNoCompObs ? "1" : "0"); ReportParameter p18 = new ReportParameter("TracerTypeID", search.TracerTypeID < 1 ? "1" : search.TracerTypeID.ToString()); ReportParameter p19 = new ReportParameter("IsCMSEnabled", AppSession.IsCMSProgram ? "1" : "0"); ReportParameterCollection reportParameterCollection = new ReportParameterCollection { p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19 }; reportViewer.LocalReport.SetParameters(reportParameterCollection); Warning[] warnings; string[] streamIds; string mimeType = string.Empty; string encoding = string.Empty; string extension = string.Empty; fileContents = reportViewer.LocalReport.Render("EXCELOPENXML", null, out mimeType, out encoding, out extension, out streamIds, out warnings); } catch (Exception ex) { throw ex; } return(fileContents); }
public DataSourceResult TracerComprehensiveExcel([DataSourceRequest] DataSourceRequest request, Search search) { DataSourceResult result = new DataSourceResult(); try { SearchFormat sf = new SearchFormat(); sf.CheckInputs(search); List <TracerComprehensiveExcel> tracerComprehensiveExcel = new List <TracerComprehensiveExcel>(); DataTable dt = new DataTable(); var tcService = new TracerComprehensive(); dt = tcService.TracerComprehensiveData(search).Tables[0]; //int rowsCount = dt.Rows.Count; //if (rowsCount > 65000) //{ // result.Errors = WebConstants.DATA_LIMIT_EXCEL_VIEW + rowsCount.ToString(); //} //else //{ //convert datatable to list tracerComprehensiveExcel = dt.ToList <TracerComprehensiveExcel>(); result = tracerComprehensiveExcel.ToDataSourceResult(request, tc => new TracerComprehensiveExcel { // Get Excel View DataSet //SiteID = tc.SiteID, TracerCustomName = tc.TracerCustomName, //TracerCustomID = tc.TracerCustomID, TracerResponseTitle = tc.TracerResponseTitle, //TracerResponseID = tc.TracerResponseID, OrgName_Rank3 = tc.OrgName_Rank3, OrgName_Rank2 = tc.OrgName_Rank2, OrgName_Rank1_Dept = tc.OrgName_Rank1_Dept, //OrgID_Rank1_Dept = tc.OrgID_Rank1_Dept, //OrgID_Rank2 = tc.OrgID_Rank2, //OrgID_Rank3 = tc.OrgID_Rank3, SurveyTeam = tc.SurveyTeam.ReplaceNewline(), MedicalStaffInvolved = tc.MedicalStaffInvolved.ReplaceNewline(), Location = tc.Location.ReplaceNewline(), MedicalRecordNumber = tc.MedicalRecordNumber.ReplaceNewline(), EquipmentObserved = tc.EquipmentObserved.ReplaceNewline(), ContractedService = tc.ContractedService.ReplaceNewline(), StaffInterviewed = tc.StaffInterviewed.ReplaceNewline(), TracerNote = tc.TracerNote.ReplaceNewline(), UpdatedById = tc.UpdatedById, UpdatedByUserName = tc.UpdatedByUserName, QuestionAnswer = tc.QuestionAnswer, ObservationDate = tc.ObservationDate, UpdatedDate = tc.UpdatedDate, Numerator = tc.Numerator, Denominator = tc.Denominator, CompliancePercent = tc.CompliancePercent, TracerQuestionNumber = tc.TracerQuestionNumber, TracerQuestionID = tc.TracerQuestionID, QuestionText = tc.QuestionText.ReplaceSpecialCharacters(), //TotalNumerator = tc.TotalNumerator, //TotalDenominator = tc.TotalDenominator, //TotalCompliancePercent = tc.TotalCompliancePercent, FollowUpRequired = tc.FollowUpRequired, TracerQuestionNote = tc.TracerQuestionNote.ReplaceNewline(), StandardEP = tc.StandardEP.ReplaceNewline(), TotalObservationsCount = tc.TotalObservationsCount }); // } } catch (Exception ex) { if (ex.Message.ToString() == "No Data") { result.Errors = WebConstants.NO_DATA_FOUND_EXCEL_VIEW; } else if (ex.Message.ToString() == "Limit") { if (search.ReportTypeSumDet == "ExcelView") { result.Errors = "Maximum limit of " + ConfigurationManager.AppSettings["ReportOutputLimitExcelView"].ToString() + " records reached. Refine your criteria to narrow the result."; } else { result.Errors = "Maximum limit of " + ConfigurationManager.AppSettings["ReportOutputLimit"].ToString() + " records reached. Refine your criteria to narrow the result."; } } if (ex.Message.ToString() != "No Data" && ex.Message.ToString() != "Limit") { ExceptionLog exceptionLog = new ExceptionLog { ExceptionText = "Reports: " + ex.Message, PageName = "TracerComprehensive", MethodName = "_TracerComprehensiveDataExcel", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; _exceptionService.LogException(exceptionLog); } } return(result); }
public DataSourceResult _departmentcomparativeanalysisOppExcel([DataSourceRequest] DataSourceRequest request, Search search) { DataSourceResult result = new DataSourceResult(); try { SearchFormat searchoutput = new SearchFormat(); searchoutput.CheckInputs(search); List <DepartmentComparativeAnalysisOPP> DepartmentComparativeAnalysis = new List <DepartmentComparativeAnalysisOPP>(); DataTable dt = new DataTable(); dt = ReportDepartmentComparativeAnalysisOpportunities(search).Tables[0]; //convert datatable to list DepartmentComparativeAnalysis = dt.ToList <DepartmentComparativeAnalysisOPP>(); result = DepartmentComparativeAnalysis.ToDataSourceResult(request, dca => new DepartmentComparativeAnalysisOPP { OrgName_Rank3 = dca.OrgName_Rank3, OrgName_Rank2 = dca.OrgName_Rank2, OrgName_Rank1_Dept = dca.OrgName_Rank1_Dept, QuestionText = dca.QuestionText.ReplaceNewline(), StandardEPs = dca.StandardEPs.ReplaceNewline(), TracerCustomName = dca.TracerCustomName, TracerResponseTitle = dca.TracerResponseTitle, ObservationDate = dca.ObservationDate, Numerator = dca.Numerator, Denominator = dca.Denominator, CompliancePercent = dca.CompliancePercent, TracerQuestionNote = dca.TracerQuestionNote.ReplaceNewline(), }); } catch (Exception ex) { if (ex.Message.ToString() == "No Data") { result.Errors = WebConstants.NO_DATA_FOUND_EXCEL_VIEW; } else if (ex.Message.ToString() == "Limit") { result.Errors = "Maximum limit of " + ConfigurationManager.AppSettings["ReportOutputLimit"].ToString() + " records reached. Refine your criteria to narrow the result."; } if (ex.Message.ToString() != "No Data" && ex.Message.ToString() != "Limit") { ExceptionLog exceptionLog = new ExceptionLog { ExceptionText = "Reports: " + ex.Message, PageName = "DepartmentComparativeAnalysis", MethodName = "_departmentcomparativeanalysisOppExcel", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; _exceptionService.LogException(exceptionLog); } } return(result); }
public ReportViewer CMSComplianceRDLC(SearchCMSCompliance searchParams, Email emailInput, string reportType = "Summary") { DateTime?startDate = null; DateTime?endDate = null; string reportDate = "All Dates"; SearchFormat searchoutput = new SearchFormat(); if (searchParams.StartDate != null) { startDate = searchParams.StartDate; if (searchParams.EndDate != null) { reportDate = searchParams.StartDate.Value.ToShortDateString() + " - " + searchParams.EndDate.Value.ToShortDateString(); } else { reportDate = "since " + searchParams.StartDate.Value.ToShortDateString(); } } if (searchParams.EndDate != null) { endDate = searchParams.EndDate.Value.Date.AddHours(23).AddMinutes(59).AddSeconds(59); if (searchParams.StartDate == null) { reportDate = "through " + searchParams.EndDate.Value.ToShortDateString(); } } ReportViewer reportViewer = new ReportViewer(); reportViewer.ProcessingMode = ProcessingMode.Local; reportViewer.SizeToReportContent = true; try { if (AppSession.ReportScheduleID > 0 && searchParams.ReportTitle != null) { searchParams.ReportTitle = String.Concat(searchParams.ReportTitle, " - Report ID: ", AppSession.ReportScheduleID); } else { if (reportType == "Summary") { searchParams.ReportTitle = "CMS Compliance Report - Summary"; } else { searchParams.ReportTitle = "CMS Compliance Report - Detail"; } } string rdlcfilename = string.Empty; string dsName = string.Empty; if (reportType == "Summary") { rdlcfilename = "rptCMSCompliance_Summary.rdlc"; dsName = "dstCMSComplianceSummary"; } else { rdlcfilename = "rptCMSCompliance_Detail.rdlc"; dsName = "dstCMSComplianceDetail"; } ReportParameterCollection reportParameterCollection = new ReportParameterCollection(); DataTable dtblReportForCMSCompliance = GetReportDataView(searchParams, reportType).Tables[0]; DataView dvReportResultForCMSCompliance = new DataView(dtblReportForCMSCompliance); reportViewer.LocalReport.DisplayName = searchParams.ReportTitle; reportViewer.LocalReport.ReportPath = HttpContext.Current.Request.MapPath(HttpContext.Current.Request.ApplicationPath) + @"Areas\Corporate\Reports\" + rdlcfilename; reportViewer.LocalReport.DataSources.Add(new ReportDataSource(dsName, dvReportResultForCMSCompliance)); reportParameterCollection.Add(new ReportParameter("ReportTitle", searchParams.ReportTitle)); reportParameterCollection.Add(new ReportParameter("Copyright", "© " + DateTime.Now.Year.ToString() + WebConstants.Copyright.ToString())); reportParameterCollection.Add(new ReportParameter("ProgramName", searchParams.ProgramNames)); reportParameterCollection.Add(new ReportParameter("SiteName", searchParams.SelectedSiteNames)); reportParameterCollection.Add(new ReportParameter("ReportDateTitle", DateTime.Now.ToString())); reportParameterCollection.Add(new ReportParameter("CoPNameList", searchParams.SelectedCoPNames)); reportParameterCollection.Add(new ReportParameter("TagNameList", searchParams.SelectedTagNames)); reportParameterCollection.Add(new ReportParameter("IdentifiedByNameList", searchParams.SelectedIdentifiedByNames)); reportParameterCollection.Add(new ReportParameter("CompliancePeriod", reportDate)); reportParameterCollection.Add(new ReportParameter("ComplianceValueNameList", searchParams.ComplianceValueNameList)); reportParameterCollection.Add(new ReportParameter("DocumentationNameList", searchParams.DocumentationNameList)); switch (reportType) { case "Summary": var autoCitationArray = dtblReportForCMSCompliance.AsEnumerable() .Where(a => string.IsNullOrEmpty(a.Field <string>("AutoCitationText")) == false) .GroupBy(a => new { AutoCitationText = a.Field <string>("AutoCitationText"), AutoCitationSortOrder = a.Field <int>("AutoCitationSortOrder") }) .Select(g => g.First()) .OrderBy(a => a.Field <int>("AutoCitationSortOrder")) .Select(a => a.Field <string>("AutoCitationText")).ToArray(); var autoCitationText = string.Join("<br />", autoCitationArray); reportParameterCollection.Add(new ReportParameter("CitedLegends", autoCitationText)); break; case "Detail": reportParameterCollection.Add(new ReportParameter("IncludeTJC", searchParams.chkIncludeTJC.ToString())); break; } reportViewer.LocalReport.SetParameters(reportParameterCollection); if (emailInput.To != null) { CommonService emailService = new CommonService(); int actionTypeId = (int)ActionTypeEnum.CMSComplianceReport; if (emailService.SendReportEmail(emailInput, actionTypeId, emailService.SetRdlcEmail(reportViewer))) { HttpContext.Current.Session["EmailSuccess"] = "true"; } else { HttpContext.Current.Session["EmailSuccess"] = "false"; } } } catch (Exception ex) { if (ex.Message.ToString() != "No Data") { ExceptionLog exceptionLog = new ExceptionLog { ExceptionText = "Reports: " + ex.Message, PageName = "CMSComplianceSummary", MethodName = "CMSComplianceSummaryRDLC", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; _exceptionService.LogException(exceptionLog); } throw ex; } return(reportViewer); }
public DataSourceResult QuestionEPRelationExcel([DataSourceRequest] DataSourceRequest request, Search search) { DataSourceResult result = new DataSourceResult(); try { SearchFormat sf = new SearchFormat(); sf.CheckInputs(search); List <QuestionEpRelation> questionEPExcel = new List <QuestionEpRelation>(); DataTable dt = new DataTable(); dt = questionEPData(search).Tables[0]; //convert datatable to list questionEPExcel = dt.ToList <QuestionEpRelation>(); result = questionEPExcel.ToDataSourceResult(request, tc => new QuestionEpRelation { TracerTemplateName = tc.TracerTemplateName, TemplateStatus = tc.TemplateStatus, TracerCustomName = tc.TracerCustomName, TracerStatusName = tc.TracerStatusName, SortOrder = tc.SortOrder, QuestionText = tc.QuestionText, StdEffectiveBeginDate = tc.StdEffectiveBeginDate, EPChangeStatus = tc.EPChangeStatus, ImpactOnQuestion = tc.ImpactOnQuestion, StdEPMappingToQuestion = tc.StdEPMappingToQuestion, EPTextMappingToQuestion = tc.EPTextMappingToQuestion, ComparedStdEP = tc.ComparedStdEP, ComparedEPText = tc.ComparedEPText, EpChangeDescription = tc.EpChangeDescription }); } catch (Exception ex) { if (ex.Message.ToString() == "No Data") { result.Errors = "No Data found matching your criteria."; } else if (ex.Message.ToString() == "Limit") { result.Errors = "Maximum limit of " + ConfigurationManager.AppSettings["ReportOutputLimit"].ToString() + " records reached. Refine your criteria to narrow the result."; } if (ex.Message.ToString() != "No Data" && ex.Message.ToString() != "Limit") { ExceptionLog exceptionLog = new ExceptionLog { ExceptionText = "Reports: " + ex.Message, PageName = "QuestionEPRelation", MethodName = "QuestionEPRelationExcel", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; _exceptionService.LogException(exceptionLog); } } return(result); }