public PartialViewResult EditStewardshipAreas(PersonPrimaryKey personPrimaryKey) { var person = personPrimaryKey.EntityObject; var viewModel = new EditUserStewardshipAreasViewModel(person, MultiTenantHelpers.GetProjectStewardshipAreaType()); return(ViewEditStewardshipAreas(viewModel)); }
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)); }
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()); }