Exemplo n.º 1
0
        public PartialViewResult _TaskRdlcReport(SearchTaskReport search, Email emailInput, string ReportType)
        {
            ReportViewer reportViewer = new ReportViewer();

            try
            {
                var dcaService = new Services.TaskReport();
                if (emailInput.To != null)
                {
                    ViewBag.FromEmail        = true;
                    ViewBag.FromEmailSuccess = WebConstants.Email_Success;
                }

                reportViewer = dcaService.TaskReportRDLC(search, emailInput, ReportType);
                if (Session["EmailSuccess"] != null)
                {
                    if (Session["EmailSuccess"].ToString() == "false")
                    {
                        ViewBag.FromEmailSuccess = WebConstants.Email_Failed;
                    }
                }
            }
            catch (Exception ex)
            {
                if (ex.Message.ToString() != "Email")
                {
                    if (ex.Message.ToString() == "No Data")
                    {
                        ModelState.AddModelError("Error", WebConstants.NO_DATA_FOUND_TASK_REPORT);
                    }
                }
                else
                {
                    ViewBag.FromEmail = true;
                    ModelState.AddModelError("Error", WebConstants.Email_Failed);
                }
            }
            finally
            {
                if (Session["EmailSuccess"] != null)
                {
                    Session.Remove("EmailSuccess");
                }
            }

            Session["MyReportViewer"] = reportViewer;
            return(PartialView("_ReportViewer"));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        private DataSet TaskReportData(SearchTaskReport search)
        {
            DataSet ds     = new DataSet();
            string  spName = String.Empty;

            search.OrgTypeLevel1IDs      = (search.OrgTypeLevel1IDs != null && search.OrgTypeLevel1IDs != "-1") ? search.OrgTypeLevel1IDs : "";
            search.OrgTypeLevel2IDs      = (search.OrgTypeLevel2IDs != null && search.OrgTypeLevel2IDs != "-1") ? search.OrgTypeLevel2IDs : "";
            search.OrgTypeLevel3IDs      = (search.OrgTypeLevel3IDs != null && search.OrgTypeLevel3IDs != "-1") ? search.OrgTypeLevel3IDs : "";
            search.TracerListIDs         = (search.TracerListIDs != null && search.TracerListIDs != "-1") ? search.TracerListIDs : "";
            search.SelectedChapterIDs    = (search.SelectedChapterIDs != null && search.SelectedChapterIDs != "-1") ? search.SelectedChapterIDs : "";
            search.SelectedCoPIDs        = (search.SelectedCoPIDs != null && search.SelectedCoPIDs != "-1") ? search.SelectedCoPIDs : "";
            search.SelectedEPIDs         = (search.SelectedEPIDs != null && search.SelectedEPIDs != "-1") ? search.SelectedEPIDs : "";
            search.SelectedTagIDs        = (search.SelectedTagIDs != null && search.SelectedTagIDs != "-1") ? search.SelectedTagIDs : "";
            search.SelectedStandardIDs   = (search.SelectedStandardIDs != null && search.SelectedStandardIDs != "-1") ? search.SelectedStandardIDs : "";
            search.SelectedAssignedByIDs = (search.SelectedAssignedByIDs != null && search.SelectedAssignedByIDs != "-1") ? search.SelectedAssignedByIDs : "";
            search.SelectedAssignedToIDs = (search.SelectedAssignedToIDs != null && search.SelectedAssignedToIDs != "-1") ? search.SelectedAssignedToIDs : "";
            search.SelectedEmailCcedIds  = (search.SelectedEmailCcedIds != null && search.SelectedEmailCcedIds != "-1") ? search.SelectedEmailCcedIds : "";
            search.DueToDate             = (search.DueToDate != null && search.DueToDate.ToString() != "") ? search.DueToDate.Value.Date.AddHours(23).AddMinutes(29).AddSeconds(59) : search.DueToDate;
            search.AssignToDate          = (search.AssignToDate != null && search.AssignToDate.ToString() != "") ? search.AssignToDate.Value.Date.AddHours(23).AddMinutes(29).AddSeconds(59) : search.AssignToDate;
            search.SelectedTaskStatusIDs = (search.SelectedTaskStatusIDs != null && search.SelectedTaskStatusIDs != "-1") ? search.SelectedTaskStatusIDs : "";
            try
            {
                using (SqlConnection cn = new SqlConnection(this.ConnectionString))
                {
                    cn.Open();
                    SqlCommand cmd;

                    spName             = "ustReport_TaskReport";
                    cmd                = new SqlCommand(spName, cn);
                    cmd.CommandTimeout = 900;//Convert.ToInt32(ConfigurationManager.AppSettings["SPCmdTimeout"].ToString());

                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("SiteID", search.SelectedSiteIDs);
                    cmd.Parameters.AddWithValue("ProgramID", AppSession.SelectedProgramId);
                    cmd.Parameters.AddWithValue("OrgIDs_Rank3", search.OrgTypeLevel3IDs);
                    cmd.Parameters.AddWithValue("OrgIDs_Rank2", search.OrgTypeLevel2IDs);
                    cmd.Parameters.AddWithValue("OrgIDs_Rank1_Depts", search.OrgTypeLevel1IDs);
                    cmd.Parameters.AddWithValue("CycleID", AppSession.CycleID);
                    cmd.Parameters.AddWithValue("DueFrom", search.DueFromDate);
                    cmd.Parameters.AddWithValue("DueTo", search.DueToDate);
                    cmd.Parameters.AddWithValue("AssignFrom", search.AssignFromDate);
                    cmd.Parameters.AddWithValue("AssignTo", search.AssignToDate);
                    cmd.Parameters.AddWithValue("StatusIds", search.SelectedTaskStatusIDs);
                    cmd.Parameters.AddWithValue("AssignedToIds", search.SelectedAssignedToIDs);
                    cmd.Parameters.AddWithValue("AssignedByIds", search.SelectedAssignedByIDs);
                    cmd.Parameters.AddWithValue("EmailCcedIds", search.SelectedEmailCcedIds);
                    cmd.Parameters.AddWithValue("TracerIDs", search.TracerListIDs);
                    cmd.Parameters.AddWithValue("ChapterIds", search.SelectedChapterIDs);
                    cmd.Parameters.AddWithValue("StandardIds", search.SelectedStandardIDs);
                    cmd.Parameters.AddWithValue("EpIds", search.SelectedEPIDs);
                    cmd.Parameters.AddWithValue("CopIds", search.SelectedCoPIDs);
                    cmd.Parameters.AddWithValue("TagIds", search.SelectedTagIDs);
                    cmd.Parameters.AddWithValue("IncludePastDue", search.IncludePastDue == true?1:0);

                    CreateSQLExecuted(spName, cmd);
#if DEBUG
                    System.Diagnostics.Debug.WriteLine(_SQLExecuted);
#endif
                    SqlDataAdapter da = new SqlDataAdapter(cmd);

                    using (cn)
                        using (cmd)
                            using (da)
                            {
                                da.Fill(ds);
                            }
                }
            }
            catch (SqlException)
            {
                throw (new Exception("Limit"));
            }
            catch (Exception ex)
            {
                ex.Data.Add(TSQL, _SQLExecuted);
                throw ex;
            }
            int rowsCount = ds.Tables[0].Rows.Count;

            if (rowsCount == 0)
            {
                throw (new Exception("No Data"));
            }
            else if (rowsCount > Convert.ToInt32(ConfigurationManager.AppSettings["ReportOutputLimit"].ToString()))
            {
                throw (new Exception("Limit"));
            }
            return(ds);
        }
Exemplo n.º 4
0
        public DataSourceResult _taskReportExcel([DataSourceRequest] DataSourceRequest request, SearchTaskReport search)
        {
            DataSourceResult result = new DataSourceResult();

            try
            {
                List <TaskReportExcelView> TaskReportExcelList = new List <TaskReportExcelView>();
                DataTable dt = new DataTable();

                dt = TaskReportData(search).Tables[0];

                TaskReportExcelList = dt.ToList <TaskReportExcelView>();

                result = TaskReportExcelList.ToDataSourceResult(request, cqc => new TaskReportExcelView
                {
                    StatusName         = cqc.StatusName,
                    TaskID             = cqc.TaskID,
                    TaskName           = cqc.TaskName,
                    TaskDescription    = cqc.TaskDescription,
                    AssignedBy         = cqc.AssignedBy,
                    AssignedTo         = cqc.AssignedTo,
                    CcedTo             = cqc.CcedTo,
                    AssignedDate       = cqc.AssignedDate,
                    DueDate            = cqc.DueDate,
                    CompleteDate       = cqc.CompleteDate,
                    TaskResolution     = cqc.TaskResolution,
                    StandardEp         = cqc.StandardEp.ReplaceNewline(),
                    CmsStandard        = cqc.CmsStandard,
                    TracerCustomName   = cqc.TracerCustomName,
                    QuestionText       = cqc.QuestionText.ReplaceNewline(),
                    Observation        = cqc.Observation.ReplaceNewline(),
                    OrgName_Rank3      = cqc.OrgName_Rank3,
                    OrgName_Rank2      = cqc.OrgName_Rank2,
                    OrgName_Rank1_Dept = cqc.OrgName_Rank1_Dept
                });
            }
            catch (Exception ex)
            {
                if (ex.Message.ToString() == "No Data")
                {
                    result.Errors = WebConstants.NO_DATA_FOUND_TASK_REPORT;
                }
                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      = "TracerComplianceQuestion",
                        MethodName    = "_ComplianceQuestionDetailExcel",
                        UserID        = Convert.ToInt32(AppSession.UserID),
                        SiteId        = Convert.ToInt32(AppSession.SelectedSiteId),
                        TransSQL      = "",
                        HttpReferrer  = null
                    };
                    _exceptionService.LogException(exceptionLog);
                }
            }
            return(result);
        }
Exemplo n.º 5
0
        public ActionResult _TaskReportExcel([DataSourceRequest] DataSourceRequest request, SearchTaskReport search)
        {
            var dcaService = new Services.TaskReport();

            DataSourceResult result = dcaService._taskReportExcel(request, search);
            JsonResult       jr     = new JsonResult();

            jr = Json(result, JsonRequestBehavior.AllowGet);
            jr.MaxJsonLength  = Int32.MaxValue;
            jr.RecursionLimit = 100;
            return(jr);
        }