public ActionResult ERLevelSites() { try { string selectedSiteIds = ""; var reportService = new SearchInputService(); //Not applying filter for Task Report var siteLst = AppSession.ReportID == 42 ? CMSService.GetCMSSitesFiltered(AppSession.Sites.ToList()) : CMSService.GetCMSSitesFiltered(AppSession.Sites.Where(m => m.IsAMPAccess == 1).ToList()); var levelMap = reportService.GetLevelMap(siteLst); AppSession.SessionERLevelInformation = reportService.GetLevelInformation(AppSession.SelectedSiteId); levelMap = levelMap.OrderByDescending(l => l.ERLevel1.ERLevel1ID) .ThenBy(l => l.ERLevel2.ERLevel2Name) .ThenBy(l => l.ERLevel3.ERLevel3Name) .ToList(); bool hasLevel1 = levelMap.Where(l => l.ERLevel1ID > 0).Count() > 0 ? true : false; bool hasLevel2 = levelMap.Where(l => l.ERLevel2ID > 0).Count() > 0 ? true : false; bool hasLevel3 = levelMap.Where(l => l.ERLevel3ID > 0).Count() > 0 ? true : false; // if there are no level 1 names (or (None)), set to false if (hasLevel1) { if (levelMap.Where(l => !String.IsNullOrEmpty(l.ERLevel1.ERLevel1Name)).Count() == 0) { hasLevel1 = false; } } //Get the selected sites for the saved report if (AppSession.ReportScheduleID > 0 && TempData["SavedParameters"] != null) { var oScheduleDate = new SaveAndSchedule(); oScheduleDate = (SaveAndSchedule)TempData["SavedParameters"]; selectedSiteIds = string.Join(",", oScheduleDate.ReportSiteMaps.Select(siteMaps => siteMaps.SiteID).ToList()); } var sites = string.Join(",", levelMap.Select(levelM => levelM.SiteID).ToList());; var siteSelectorViewModel = new SiteSelectorViewModel { ERLevelMap = levelMap, HasLevel1 = hasLevel1, HasLevel2 = hasLevel2, HasLevel3 = hasLevel3, SelectedSiteIds = selectedSiteIds, IsCorporateAccess = new CommonService().CheckCorporateAccess(sites) }; switch ((ReportsListEnum)AppSession.ReportID) { case ReportsListEnum.EPScoringReport: case ReportsListEnum.TaskAssignment: case ReportsListEnum.EPAssignmentScoring: case ReportsListEnum.CMSCompliance: case ReportsListEnum.EPsNotScoredinPeriod: case ReportsListEnum.EPScoringReportFinalMockSurvey: case ReportsListEnum.TaskReport: return(PartialView("Search/_SitesTreeForEPScoring", siteSelectorViewModel)); case ReportsListEnum.ComprehensiveScoringReport: return(PartialView("Search/_SitesTreeForEPScoring", siteSelectorViewModel)); default: return(PartialView("Search/_SitesTree", siteSelectorViewModel)); } } catch (Exception ex) { ExceptionLog exceptionLog = new ExceptionLog { ExceptionText = "Reports: " + ex.Message, PageName = "CorporatePriorityFinding", MethodName = "ERLevelSites", UserID = Convert.ToInt32(AppSession.UserID), SiteId = Convert.ToInt32(AppSession.SelectedSiteId), TransSQL = "", HttpReferrer = null }; exceptionService.LogException(exceptionLog); return(RedirectToAction("Error", "Transfer")); } }