コード例 #1
0
ファイル: TracerByCMS.cs プロジェクト: SubhoM/ReportApp
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 private void rbSearchFormat_CheckedChanged(object sender, EventArgs e)
 {
     if (rbLinq.Checked)
     {
         searchFormat = SearchFormat.LINQ;
     }
     else if (rbRegex.Checked)
     {
         searchFormat = SearchFormat.REGEX;
     }
 }
コード例 #4
0
ファイル: TracerByEP.cs プロジェクト: SubhoM/ReportApp
        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);
        }
コード例 #5
0
ファイル: TaskReport.cs プロジェクト: SubhoM/ReportApp
        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);
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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);
        }
コード例 #8
0
        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);
        }
コード例 #9
0
        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);
        }
コード例 #10
0
        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);
        }
コード例 #11
0
        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);
        }
コード例 #12
0
ファイル: TracerCompliance.cs プロジェクト: SubhoM/ReportApp
        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);
        }
コード例 #13
0
ファイル: TracerByCMS.cs プロジェクト: SubhoM/ReportApp
        /// <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);
        }
コード例 #14
0
        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);
        }
コード例 #15
0
ファイル: TracerByEP.cs プロジェクト: SubhoM/ReportApp
        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);
        }
コード例 #16
0
ファイル: TracerByEP.cs プロジェクト: SubhoM/ReportApp
        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);
        }
コード例 #17
0
        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);
        }
コード例 #18
0
        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);
        }
コード例 #19
0
        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);
        }
コード例 #20
0
        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);
        }
コード例 #21
0
        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);
        }
コード例 #22
0
        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);
        }
コード例 #23
0
        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);
        }