示例#1
0
        public PartialViewResult EditProjectPriorityLandscapes(ProjectPrimaryKey projectPrimaryKey)
        {
            var project = projectPrimaryKey.EntityObject;
            var priorityLandscapeIDs            = project.ProjectPriorityLandscapes.Select(x => x.PriorityLandscapeID).ToList();
            var noPriorityLandscapesExplanation = project.NoPriorityLandscapesExplanation;
            var viewModel = new EditProjectPriorityLandscapesViewModel(priorityLandscapeIDs, noPriorityLandscapesExplanation);

            return(ViewEditProjectPriorityLandscapes(viewModel, project));
        }
示例#2
0
        public ProposalSectionsStatus(Models.Project project)
        {
            var basicsResults = new BasicsViewModel(project).GetValidationResults();

            IsBasicsSectionComplete = !basicsResults.Any();

            var customAttributeResults = new CustomAttributesViewModel(project).GetValidationResults();

            IsCustomAttributesSectionComplete = !customAttributeResults.Any();

            var locationSimpleValidationResults = new LocationSimpleViewModel(project).GetValidationResults();

            IsProjectLocationSimpleSectionComplete = !locationSimpleValidationResults.Any();

            IsProjectLocationDetailedSectionComplete = IsBasicsSectionComplete;

            var regionIDs = project.ProjectRegions
                            .Select(x => x.DNRUplandRegionID).ToList();
            var editProjectRegionsValidationResults = new EditProjectRegionsViewModel(regionIDs,
                                                                                      project.NoRegionsExplanation).GetValidationResults();

            IsRegionSectionComplete = !editProjectRegionsValidationResults.Any();

            var priorityLandscapeIDs = project.ProjectPriorityLandscapes
                                       .Select(x => x.PriorityLandscapeID).ToList();
            var editProjectPriorityLandscapesValidationResults = new EditProjectPriorityLandscapesViewModel(priorityLandscapeIDs,
                                                                                                            project.NoPriorityLandscapesExplanation).GetValidationResults();

            IsPriorityLandscapeSectionComplete = !editProjectPriorityLandscapesValidationResults.Any();

            var performanceMeasureValidationResults =
                new ExpectedPerformanceMeasureValuesViewModel(project).GetValidationResults();

            IsPerformanceMeasureSectionComplete = !performanceMeasureValidationResults.Any();

            var efValidationResults = new ExpectedFundingViewModel(project.ProjectGrantAllocationRequests.ToList(),
                                                                   project.EstimatedTotalCost,
                                                                   project.ProjectFundingSourceNotes,
                                                                   project.ProjectFundingSources.ToList())
                                      .GetValidationResults();

            IsExpectedFundingSectionComplete = !efValidationResults.Any();

            var proposalClassificationSimples   = ProjectCreateController.GetProjectClassificationSimples(project);
            var classificationValidationResults =
                new EditProposalClassificationsViewModel(proposalClassificationSimples).GetValidationResults();

            IsClassificationsComplete = !classificationValidationResults.Any();

            IsNotesSectionComplete = IsBasicsSectionComplete; //there is no validation required on Notes
        }
示例#3
0
        private PartialViewResult ViewEditProjectPriorityLandscapes(EditProjectPriorityLandscapesViewModel viewModel, Project project)
        {
            var boundingBox = ProjectLocationSummaryMapInitJson.GetProjectBoundingBox(project);
            var layers      = MapInitJson.GetPriorityLandscapeMapLayers(LayerInitialVisibility.Show);

            layers.AddRange(MapInitJson.GetProjectLocationSimpleAndDetailedMapLayers(project));
            var mapInitJson = new MapInitJson("projectPriorityLandscapeMap", 0, layers, boundingBox)
            {
                AllowFullScreen = false, DisablePopups = true
            };
            var priorityLandscapeIDs                 = viewModel.PriorityLandscapeIDs ?? new List <int>();
            var priorityLandscapesInViewModel        = HttpRequestStorage.DatabaseEntities.PriorityLandscapes.Where(x => priorityLandscapeIDs.Contains(x.PriorityLandscapeID)).ToList();
            var editProjectPriorityLandscapesPostUrl = SitkaRoute <ProjectPriorityLandscapeController> .BuildUrlFromExpression(c => c.EditProjectPriorityLandscapes(project, null));

            var editProjectPriorityLandscapesFormID = GetEditProjectPriorityLandscapesFormID();

            var viewData = new EditProjectPriorityLandscapesViewData(CurrentPerson, mapInitJson, priorityLandscapesInViewModel, editProjectPriorityLandscapesPostUrl, editProjectPriorityLandscapesFormID, project.HasProjectLocationPoint, project.HasProjectLocationDetail);

            return(RazorPartialView <EditProjectPriorityLandscapes, EditProjectPriorityLandscapesViewData, EditProjectPriorityLandscapesViewModel>(viewData, viewModel));
        }
示例#4
0
        public ActionResult EditProjectPriorityLandscapes(ProjectPrimaryKey projectPrimaryKey, EditProjectPriorityLandscapesViewModel viewModel)
        {
            var project = projectPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewEditProjectPriorityLandscapes(viewModel, project));
            }

            var currentProjectPriorityLandscapes = project.ProjectPriorityLandscapes.ToList();
            var allProjectPriorityLandscapes     = HttpRequestStorage.DatabaseEntities.ProjectPriorityLandscapes.Local;

            viewModel.UpdateModel(project, currentProjectPriorityLandscapes, allProjectPriorityLandscapes);
            project.NoPriorityLandscapesExplanation = !string.IsNullOrWhiteSpace(viewModel.NoPriorityLandscapesExplanation) ? viewModel.NoPriorityLandscapesExplanation : null;
            SetMessageForDisplay($"{FieldDefinition.Project.GetFieldDefinitionLabel()} Priority Landscapes were successfully saved.");

            return(new ModalDialogFormJsonResult());
        }