public GridJsonNetJObjectResult <OnlandVisualTrashAssessment> OVTAGridJsonData()
        {
            var stormwaterJurisdictionIDsPersonCanView = CurrentPerson.GetStormwaterJurisdictionIDsPersonCanView();

            if (!stormwaterJurisdictionIDsPersonCanView.Any())
            {
                throw new SitkaRecordNotAuthorizedException(
                          "You are not assigned to any Jurisdictions. Please log out and log in as a different user or request additional permissions");
            }

            var gridSpec = new OnlandVisualTrashAssessmentIndexGridSpec(CurrentPerson, true);
            var onlandVisualTrashAssessments = HttpRequestStorage.DatabaseEntities.OnlandVisualTrashAssessments
                                               .Where(x => stormwaterJurisdictionIDsPersonCanView.Contains(x.StormwaterJurisdictionID)).ToList()
                                               .OrderByDescending(x => x.CompletedDate).ThenBy(x => x.OnlandVisualTrashAssessmentArea == null)
                                               .ThenBy(x => x.OnlandVisualTrashAssessmentArea?.OnlandVisualTrashAssessmentAreaName).ToList();

            return(new GridJsonNetJObjectResult <OnlandVisualTrashAssessment>(onlandVisualTrashAssessments, gridSpec));
        }
示例#2
0
        public DetailViewData(Person currentPerson, Models.OnlandVisualTrashAssessmentArea onlandVisualTrashAssessmentArea, OVTAAreaMapInitJson mapInitJson, string newUrl, string editDetailsUrl, string confirmEditLocationUrl) : base(currentPerson)
        {
            EntityName = "OVTA Areas";
            EntityUrl  = SitkaRoute <OnlandVisualTrashAssessmentController> .BuildUrlFromExpression(x => x.Index());

            PageTitle = onlandVisualTrashAssessmentArea.OnlandVisualTrashAssessmentAreaName;
            OnlandVisualTrashAssessmentArea = onlandVisualTrashAssessmentArea;
            MapInitJson = mapInitJson;
            var completedAssessments = OnlandVisualTrashAssessmentArea.OnlandVisualTrashAssessments.Where(x => x.OnlandVisualTrashAssessmentStatus == OnlandVisualTrashAssessmentStatus.Complete).ToList();

            LastAssessmentDateHtmlString = new HtmlString(completedAssessments.Max(x => x.CompletedDate)?.ToShortDateString() ?? "<p class='systemText'>No completed assessments</p>");
            ProgressScoreHtmlString      = new HtmlString(OnlandVisualTrashAssessmentArea.OnlandVisualTrashAssessmentProgressScore != null
                ? OnlandVisualTrashAssessmentArea.OnlandVisualTrashAssessmentProgressScore
                                                          .OnlandVisualTrashAssessmentScoreDisplayName
                : "<p class='systemText'>No completed assessments</p>");
            BaselineScoreHtmlString = new HtmlString(OnlandVisualTrashAssessmentArea.OnlandVisualTrashAssessmentBaselineScore != null
                ? OnlandVisualTrashAssessmentArea.OnlandVisualTrashAssessmentBaselineScore
                                                     .OnlandVisualTrashAssessmentScoreDisplayName
                : "<p class='systemText'>No completed assessments</p>");
            NewUrl                 = newUrl;
            EditDetailsUrl         = editDetailsUrl;
            ConfirmEditLocationUrl = confirmEditLocationUrl;


            UserHasAssessmentAreaManagePermission = new OnlandVisualTrashAssessmentAreaEditFeature().HasPermission(currentPerson, OnlandVisualTrashAssessmentArea).HasPermission;
            UserHasEditLocationPermission         = new JurisdictionManageFeature().HasPermissionByPerson(currentPerson);

            GridSpec = new OnlandVisualTrashAssessmentIndexGridSpec(currentPerson, false)
            {
                ObjectNameSingular  = "Assessment",
                ObjectNamePlural    = "Assessments",
                SaveFiltersInCookie = true
            };
            GridName    = "onlandVisualTrashAssessmentsGrid";
            GridDataUrl =
                SitkaRoute <OnlandVisualTrashAssessmentController> .BuildUrlFromExpression(j => j.OVTAGridJsonDataForAreaDetails(onlandVisualTrashAssessmentArea));

            GeoServerUrl = NeptuneWebConfiguration.ParcelMapServiceUrl;
        }
 private List <OnlandVisualTrashAssessment> GetOVTAsAndGridSpec(out OnlandVisualTrashAssessmentIndexGridSpec gridSpec, Person currentPerson, OnlandVisualTrashAssessmentArea onlandVisualTrashAssessmentArea)
 {
     gridSpec = new OnlandVisualTrashAssessmentIndexGridSpec(currentPerson, false);
     return(HttpRequestStorage.DatabaseEntities.OnlandVisualTrashAssessments.Where(x => x.OnlandVisualTrashAssessmentAreaID == onlandVisualTrashAssessmentArea.OnlandVisualTrashAssessmentAreaID).OrderByDescending(x => x.CompletedDate).ToList());
 }