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 })); }
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)); }