public IActionResult AddScope(int apiResourceId, EditableScopeViewModel scope) { if (!ModelState.IsValid) { var viewModel = ViewModelBuilder.BuildAddScopeViewModel(ModelState, apiResourceId); return(View(viewModel)); } var claimsIds = GetSelectedItems(scope.SelectableClaimTypes).Select(x => x.Id); var scopeModel = Mapper.Map <ScopeModel>(scope); var result = m_scopeManager.AddScopeToApiResource(apiResourceId, scopeModel, claimsIds); if (result.HasError) { ModelState.AddModelError(result.Error.Message); var viewModel = ViewModelBuilder.BuildAddScopeViewModel(ModelState, apiResourceId); return(View(viewModel)); } return(RedirectToAction(nameof(Scopes), new { apiResourceId })); }
public EditableScopeViewModel BuildAddScopeViewModel(ModelStateDictionary modelState, int apiResourceId, EditableScopeViewModel scope = null) { var claimTypesResult = m_claimTypeManager.GetAllClaimTypes(); if (claimTypesResult.HasError) { modelState.AddModelError(claimTypesResult.Error.Message); } var claimTypeViewModels = m_mapper.Map <IList <ClaimTypeViewModel> >(claimTypesResult.Result); return(m_viewModelFactory.GetEditableScopeViewModel(apiResourceId, claimTypeViewModels, scope)); }