public async Task <ResultModel> UpdateIdentityResource(IdentityResourceUpdateDto identityResourceUpdateDto) { if (string.IsNullOrWhiteSpace(identityResourceUpdateDto.Name)) { return(new ResultModel(ResultCode.Fail, "请输入认证资源名称")); } try { var identityResource = await _userDatabaseContext.IdentityResources.Where(x => x.Id == identityResourceUpdateDto.Id) .Include(x => x.UserClaims) .Include(x => x.Properties) .FirstOrDefaultAsync(); identityResource.Updated = DateTime.Now; identityResource.Enabled = identityResourceUpdateDto.Enabled; identityResource.Name = identityResourceUpdateDto.Name; identityResource.DisplayName = identityResourceUpdateDto.DisplayName; identityResource.Required = identityResourceUpdateDto.Required; identityResource.Emphasize = identityResourceUpdateDto.Emphasize; identityResource.ShowInDiscoveryDocument = identityResourceUpdateDto.ShowInDiscoveryDocument; identityResource.NonEditable = identityResourceUpdateDto.NonEditable; List <IdentityResourceClaim> identityResourceClaims = new List <IdentityResourceClaim>(); foreach (var item in identityResourceUpdateDto.UserClaims) { identityResourceClaims.Add(new IdentityResourceClaim { Type = item.Type }); } identityResource.UserClaims = identityResourceClaims; List <IdentityResourceProperty> identityResourceProperties = new List <IdentityResourceProperty>(); foreach (var item in identityResourceUpdateDto.Properties) { identityResourceProperties.Add(new IdentityResourceProperty { Key = item.Key, Value = item.Value, }); } identityResource.Properties = identityResourceProperties; _userDatabaseContext.IdentityResources.Update(identityResource); await _userDatabaseContext.SaveChangesAsync(); return(new ResultModel(ResultCode.Success, "更新认证资源成功")); } catch (Exception ex) { return(new ResultModel(ResultCode.Fail, ex.Message)); } }
public async Task <IActionResult> UpdateIdentityResource([FromBody] IdentityResourceUpdateDto dto) { return(Json(await _identityResourceService.UpdateIdentityResource(dto))); }