public async Task <IActionResult> EditApiResource(ApiItemViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("EditApiResource", new { siteId = model.SiteId, name = model.Name }));
            }

            Guid siteId = _siteManager.CurrentSite.Id;

            if (!string.IsNullOrEmpty(model.SiteId) && model.SiteId.Length == 36)
            {
                siteId = new Guid(model.SiteId);
            }
            var selectedSite = await _siteManager.GetSiteForDataOperations(siteId);

            var apiResource = await _apiManager.FetchApiResource(selectedSite.Id.ToString(), model.Name);

            if (apiResource == null)
            {
                this.AlertDanger(sr["API Resource not found"], true);
                return(RedirectToAction("Index", new { siteId = selectedSite.Id.ToString() }));
            }

            // apiResource.AllowUnrestrictedIntrospection = model.AllowUnrestrictedIntrospection;
            //apiResource.ClaimsRule = model.ClaimsRule;
            apiResource.Description = model.Description;
            apiResource.DisplayName = model.DisplayName;
            // apiResource.Emphasize = model.Emphasize;
            apiResource.Enabled = model.Enabled;
            //apiResource.IncludeAllClaimsForUser = model.IncludeAllClaimsForUser;
            //apiResource.Required = model.Required;
            //apiResource.ShowInDiscoveryDocument = model.ShowInDiscoveryDocument;
            await _apiManager.UpdateApiResource(selectedSite.Id.ToString(), apiResource);

            var successFormat = sr["The API Resource <b>{0}</b> was successfully updated."];

            this.AlertSuccess(string.Format(successFormat, apiResource.Name), true);

            return(RedirectToAction("EditApiResource", new { siteId = selectedSite.Id.ToString(), apiName = apiResource.Name }));
        }
Esempio n. 2
0
        public ActionResult Edit(int id, EditableApiResourceViewModel editableViewModel)
        {
            if (ModelState.IsValid)
            {
                var claimsIds        = GetSelectedItems(editableViewModel.SelectableClaimTypes).Select(x => x.Id);
                var apiResourceModel = Mapper.Map <ApiResourceModel>(editableViewModel.ApiResourceViewModel);

                var result = m_apiResourceManager.UpdateApiResource(id, apiResourceModel, claimsIds);

                if (!result.HasError)
                {
                    return(RedirectToAction(nameof(View), new { id }));
                }

                ModelState.AddModelError(result.Error.Message);
            }

            var viewModel = ViewModelBuilder.BuildEditableApiResourceViewModel(ModelState, editableViewModel.ApiResourceViewModel);

            return(View(viewModel));
        }