Ejemplo n.º 1
0
        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 }));
        }
Ejemplo n.º 2
0
        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));
        }