Ejemplo n.º 1
0
        public PartialViewResult EditProjectRegions(ProjectPrimaryKey projectPrimaryKey)
        {
            var project              = projectPrimaryKey.EntityObject;
            var regionIDs            = project.ProjectRegions.Select(x => x.DNRUplandRegionID).ToList();
            var noRegionsExplanation = project.NoRegionsExplanation;
            var viewModel            = new EditProjectRegionsViewModel(regionIDs, noRegionsExplanation);

            return(ViewEditProjectRegions(viewModel, project));
        }
Ejemplo n.º 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
        }
Ejemplo n.º 3
0
        public ActionResult EditProjectRegions(ProjectPrimaryKey projectPrimaryKey, EditProjectRegionsViewModel viewModel)
        {
            var project = projectPrimaryKey.EntityObject;

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

            var currentProjectRegions = project.ProjectRegions.ToList();
            var allProjectRegions     = HttpRequestStorage.DatabaseEntities.ProjectRegions.Local;

            viewModel.UpdateModel(project, currentProjectRegions, allProjectRegions);
            project.NoRegionsExplanation = !string.IsNullOrWhiteSpace(viewModel.NoDNRUplandRegionsExplanation) ? viewModel.NoDNRUplandRegionsExplanation : null;
            SetMessageForDisplay($"{FieldDefinition.Project.GetFieldDefinitionLabel()} Regions were successfully saved.");

            return(new ModalDialogFormJsonResult());
        }
Ejemplo n.º 4
0
        private PartialViewResult ViewEditProjectRegions(EditProjectRegionsViewModel viewModel, Project project)
        {
            var boundingBox = ProjectLocationSummaryMapInitJson.GetProjectBoundingBox(project);
            var layers      = MapInitJson.GetRegionMapLayers(LayerInitialVisibility.Show);

            layers.AddRange(MapInitJson.GetProjectLocationSimpleAndDetailedMapLayers(project));
            var mapInitJson = new MapInitJson("projectRegionMap", 0, layers, boundingBox)
            {
                AllowFullScreen = false, DisablePopups = true
            };
            var regionIDs                 = viewModel.DNRUplandRegionIDs ?? new List <int>();
            var regionsInViewModel        = HttpRequestStorage.DatabaseEntities.DNRUplandRegions.Where(x => regionIDs.Contains(x.DNRUplandRegionID)).ToList();
            var editProjectRegionsPostUrl = SitkaRoute <ProjectRegionController> .BuildUrlFromExpression(c => c.EditProjectRegions(project, null));

            var editProjectRegionsFormID = GetEditProjectRegionsFormID();

            var viewData = new EditProjectRegionsViewData(CurrentPerson, mapInitJson, regionsInViewModel, editProjectRegionsPostUrl, editProjectRegionsFormID, project.HasProjectLocationPoint, project.HasProjectLocationDetail);

            return(RazorPartialView <EditProjectRegions, EditProjectRegionsViewData, EditProjectRegionsViewModel>(viewData, viewModel));
        }