Esempio n. 1
0
        public PartialViewResult EditStewardshipAreas(PersonPrimaryKey personPrimaryKey)
        {
            var person    = personPrimaryKey.EntityObject;
            var viewModel = new EditUserStewardshipAreasViewModel(person, MultiTenantHelpers.GetProjectStewardshipAreaType());

            return(ViewEditStewardshipAreas(viewModel));
        }
Esempio n. 2
0
        private PartialViewResult ViewEditStewardshipAreas(EditUserStewardshipAreasViewModel viewModel)
        {
            EditUserStewardshipAreasViewData viewData;
            var projectStewardshipAreaType = MultiTenantHelpers.GetProjectStewardshipAreaType().ToEnum;

            switch (projectStewardshipAreaType)
            {
            case ProjectStewardshipAreaTypeEnum.ProjectStewardingOrganizations:
                var allOrganizations = HttpRequestStorage.DatabaseEntities.Organizations.ToList().Where(x => x.CanStewardProjects()).ToList();
                viewData = new EditUserStewardshipAreasViewData(CurrentPerson, allOrganizations, false);
                break;

            case ProjectStewardshipAreaTypeEnum.TaxonomyBranches:
                var allTaxonomyBranches = HttpRequestStorage.DatabaseEntities.TaxonomyBranches.ToList();
                viewData = new EditUserStewardshipAreasViewData(CurrentPerson, allTaxonomyBranches, false);
                break;

            case ProjectStewardshipAreaTypeEnum.Regions:
                var allRegions = HttpRequestStorage.DatabaseEntities.DNRUplandRegions.ToList();
                viewData = new EditUserStewardshipAreasViewData(CurrentPerson, allRegions, false);
                break;

            default:
                throw new InvalidOperationException(
                          "The Stewardship Area editor should only be allowed for tenants with a Project Stewardship Area Type");
            }

            return(RazorPartialView <EditUserStewardshipAreas, EditUserStewardshipAreasViewData, EditUserStewardshipAreasViewModel>(viewData, viewModel));
        }
Esempio n. 3
0
        public ActionResult EditStewardshipAreas(PersonPrimaryKey personPrimaryKey,
                                                 EditUserStewardshipAreasViewModel viewModel)
        {
            var person = personPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewEditStewardshipAreas(viewModel));
            }

            var projectStewardshipAreaType = MultiTenantHelpers.GetProjectStewardshipAreaType().ToEnum;

            switch (projectStewardshipAreaType)
            {
            case ProjectStewardshipAreaTypeEnum.ProjectStewardingOrganizations:
                HttpRequestStorage.DatabaseEntities.Organizations.Load();
                viewModel.UpdateModel(person,
                                      HttpRequestStorage.DatabaseEntities.AllPersonStewardOrganizations.Local);
                break;

            case ProjectStewardshipAreaTypeEnum.TaxonomyBranches:
                HttpRequestStorage.DatabaseEntities.TaxonomyBranches.Load();
                viewModel.UpdateModel(person,
                                      HttpRequestStorage.DatabaseEntities.AllPersonStewardTaxonomyBranches.Local);
                break;

            case ProjectStewardshipAreaTypeEnum.GeospatialAreas:
                HttpRequestStorage.DatabaseEntities.GeospatialAreas.Load();
                viewModel.UpdateModel(person,
                                      HttpRequestStorage.DatabaseEntities.AllPersonStewardGeospatialAreas.Local);
                break;

            default:
                throw new InvalidOperationException(
                          "The Stewardship Area editor should only be allowed for tenants with a Project Stewardship Area Type");
            }


            SetMessageForDisplay(
                $"Assigned {FieldDefinitionEnum.ProjectStewardshipArea.ToType().GetFieldDefinitionLabelPluralized()} successfully changed for {person.GetFullNameFirstLast()}.");
            return(new ModalDialogFormJsonResult());
        }