public ActionResult _SaveandScheduledReportsExcel([DataSourceRequest] DataSourceRequest request, SearchSavedReportsInput search) { var SaveandScheduleReportsCall = new SaveandScheduledReports(); //if (search.MyReportsView) //{ } //else //{ } DataSourceResult result = SaveandScheduleReportsCall._saveandscheduledReportsExcel(request, search); JsonResult jr = new JsonResult(); jr = Json(result, JsonRequestBehavior.AllowGet); jr.MaxJsonLength = Int32.MaxValue; jr.RecursionLimit = 100; return(jr); }
public ActionResult _ERSaveandScheduledReportsExcel([DataSourceRequest] DataSourceRequest request, SearchSavedReportsInput search) { var SaveandScheduleReportsCall = new SaveandScheduledReports(); DataSourceResult result = SaveandScheduleReportsCall._saveandscheduledReportsExcel(request, search, (int)WebConstants.ProductID.TracerER); JsonResult jr = new JsonResult(); jr = Json(result, JsonRequestBehavior.AllowGet); jr.MaxJsonLength = Int32.MaxValue; jr.RecursionLimit = 100; return(jr); }
public DataSourceResult _saveandscheduledReportsExcel([DataSourceRequest] DataSourceRequest request, SearchSavedReportsInput search, int EProductID = 1) { DataSourceResult result = new DataSourceResult(); try { //System.Diagnostics.Debug.WriteLine("EProductID:" + EProductID); //System.Diagnostics.Debug.WriteLine("AppSession.LinkType:" + AppSession.LinkType); //System.Diagnostics.Debug.WriteLine("AppSession.PageID:" + AppSession.PageID); List <SaveandScheduledDetails> SaveandScheduledDetailsList = new List <SaveandScheduledDetails>(); DataTable dt = new DataTable(); if (EProductID == (int)WebConstants.ProductID.TracerER || AppSession.LinkType == (int)WebConstants.LinkType.AMPCorporateReports || AppSession.LinkType == (int)WebConstants.LinkType.AmpHome) { List <int> siteIDList = new List <int>(); int eProductId; int ERReportCategoryID; if (AppSession.LinkType == (int)WebConstants.LinkType.AMPCorporateReports || AppSession.LinkType == (int)WebConstants.LinkType.AmpHome) { // Mark Orlando: It appears AMP Reports should go through here. siteIDList = AppSession.Sites.Select(m => m.SiteID).ToList(); eProductId = (int)WebConstants.ProductID.AMP; ERReportCategoryID = (int)WebConstants.ReportCategoryID.AMP; } else { // M.Orlando 09/27/2017: Updated for TEN siteIDList = AppSession.Sites.Where(m => m.RoleID.In((int)(WebConstants.Role.ProgramAdministrator), (int)(WebConstants.Role.MockSurveyUser), (int)(WebConstants.Role.MockSurveyReviewer))).Select(m => m.SiteID).ToList(); eProductId = (int)WebConstants.ProductID.TracerER; ERReportCategoryID = (int)WebConstants.ReportCategoryID.TracerER; } // Mark Orlando: Requests to get ER Tracer Reports runs here and executes SP ustReport_GetSavedandScheduledERReports. dt = ERSearchSaveandScheduleddataset(string.Join(",", siteIDList.ToArray()), search.SearchSelectedSites == null ? string.Join(",", siteIDList.ToArray()) : search.SearchSelectedSites, eProductId, ERReportCategoryID).Tables[0]; } else { // Mark Orlando: Requests to get Tracer Reports runs here and executes SP ustReport_GetSavedandScheduledReports. dt = SaveandScheduleddataset(EProductID).Tables[0]; } SaveandScheduledDetailsList = dt.ToList <SaveandScheduledDetails>(); // to do filter data if (search.MyReportsView) { SaveandScheduledDetailsList = SaveandScheduledDetailsList.Where(s => s.UserID == AppSession.UserID).ToList(); } else { if (search.ReportUserScheduleID > 0) { SaveandScheduledDetailsList = SaveandScheduledDetailsList.Where(s => s.ERReportUserScheduleID == search.ReportUserScheduleID).ToList(); } else if (search.ERMyReportIDs != null && search.ERMyReportIDs != "-1" && search.ERMyReportIDs != "") { SaveandScheduledDetailsList = SaveandScheduledDetailsList.Where(s => GetSearchIds(search.ERMyReportIDs) .Contains(s.ERReportUserScheduleID.ToString())) .ToList(); } else { search.CreatedByIDs = (search.CreatedByIDs != null && search.CreatedByIDs != "-1") ? search.CreatedByIDs : ""; search.ERReportIDs = (search.ERReportIDs != null && search.ERReportIDs != "-1") ? search.ERReportIDs : ""; search.ERRecurrenceIDs = (search.ERRecurrenceIDs != null && search.ERRecurrenceIDs != "-1") ? search.ERRecurrenceIDs : ""; // filter by user if (!String.IsNullOrEmpty(search.CreatedByIDs)) { SaveandScheduledDetailsList = SaveandScheduledDetailsList.Where(s => GetSearchIds(search.CreatedByIDs) .Contains(s.UserID.ToString())) .ToList(); } // filter by Report Name if (!String.IsNullOrEmpty(search.ERReportIDs)) { SaveandScheduledDetailsList = SaveandScheduledDetailsList.Where(s => GetSearchIds(search.ERReportIDs) .Contains(s.ERReportID.ToString())) .ToList(); } // filter by Report Frequency / Schedule Type if (!String.IsNullOrEmpty(search.ERRecurrenceIDs)) { SaveandScheduledDetailsList = SaveandScheduledDetailsList.Where(s => GetSearchIds(search.ERRecurrenceIDs) .Contains(s.ERScheduleTypeID.ToString())) .ToList(); } // filter by Create Date if (search.CreateDateFrom.HasValue && search.CreateDateFrom.Value > DateTime.MinValue) { DateTime maxDate = DateTime.MaxValue; if (search.CreateDateTo.HasValue) { maxDate = search.CreateDateTo.Value.AddDays(1).Date; } SaveandScheduledDetailsList = SaveandScheduledDetailsList.Where(s => s.CreateDate >= search.CreateDateFrom && s.CreateDate < maxDate) .ToList(); } } } result = SaveandScheduledDetailsList.ToDataSourceResult(request, cqc => new SaveandScheduledDetails { ERReportUserScheduleID = cqc.ERReportUserScheduleID, ERReportID = cqc.ERReportID, UserID = cqc.UserID, ERReportScheduleStatusID = cqc.ERReportScheduleStatusID, EmailTo = cqc.EmailTo, LastRundate = cqc.LastRundate, LastRunStatus = cqc.LastRunStatus, ReportNameOverride = cqc.ReportNameOverride, ReportDescription = cqc.ReportDescription, ERScheduleTypeID = cqc.ERScheduleTypeID, NextRunScheduled = cqc.NextRunScheduled, CreateDate = cqc.CreateDate, UpdateDate = cqc.UpdateDate, ERReportName = cqc.ERReportName, SiteID = cqc.SiteID, FirstName = cqc.FirstName, LastName = cqc.LastName, CreatedBy = cqc.FirstName.ToString() + " " + cqc.LastName.ToString(), UpdatedBy = cqc.UpdateByUserFirstName.ToString() + " " + cqc.UpdateByUserLastName.ToString(), UpdateByUserID = cqc.UpdateByUserID, // UpdateByUserFirstName = cqc.UpdateByUserFirstName, // UpdateByUserLastName = cqc.UpdateByUserLastName, CC = cqc.CC, BCC = cqc.BCC, ReplyTo = cqc.ReplyTo, Subject = cqc.Subject, RenderFormatTypeID = cqc.RenderFormatTypeID, Comment = cqc.Comment, ERReportScheduleStatusName = cqc.ERReportScheduleStatusName, ERReportScheduleStatusDescription = cqc.ERReportScheduleStatusDescription == "Complete" ? "None" : cqc.ERReportScheduleStatusDescription, ERScheduleName = cqc.ERScheduleName, ERScheduleDescription = cqc.ERScheduleDescription == "One-time" ? "None" : cqc.ERScheduleDescription, LastRunMessage = cqc.LastRunMessage == "" ? "None" : cqc.LastRunMessage, ReportSource = cqc.ReportSource, }); } 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 = "_saveandscheduledReportsExcel", MethodName = "_saveandscheduledReportsExcel", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; _exceptionService.LogException(exceptionLog); } } return(result); }