Exemple #1
0
        public ActionResult ERLevelSites()
        {
            string selectedSiteIds = "";
            var    reportService   = new SearchInputService();

            var sites    = AppSession.Sites.Where(m => m.IsTracersAccess == 1).ToList();
            var levelMap = reportService.GetLevelMap(sites);

            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 siteSelectorViewModel = new SiteSelectorViewModel
            {
                ERLevelMap      = levelMap,
                HasLevel1       = hasLevel1,
                HasLevel2       = hasLevel2,
                HasLevel3       = hasLevel3,
                SelectedSiteIds = selectedSiteIds
            };

            //var dataContext = new SampleEntities();

            //var employees = from e in dataContext.Employees
            //                where (id.HasValue ? e.ReportsTo == id : e.ReportsTo == null)
            //                select new
            //                {
            //                    id = e.EmployeeID,
            //                    Name = e.FirstName + " " + e.LastName,
            //                    hasChildren = e.Employees1.Any()
            //                };
            return(PartialView("Search/_SitesTree", siteSelectorViewModel));
            // return Json(siteSelectorViewModel, JsonRequestBehavior.AllowGet);
        }
Exemple #2
0
        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"));
            }
        }