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)); }
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()); }