public static bool AddOrUpdateResourceValidate(ResourceInputDto input, ref string message) { var success = false; if (input == null) { message = "资源不能够为空"; } else if (string.IsNullOrWhiteSpace(input.Name)) { message = "资源名称不能够为空"; } else if (input.Name.Length >= 32) { message = "资源名称不能够超过32个字符"; } else if (input.UserClaims == null || input.UserClaims.Count == 0 || input.UserClaims.Count(u => u == "") > 0) { message = "资源标记不能够为空"; } else { success = true; } return(success); }
public async Task <IActionResult> UpdateResource([FromBody] ResourceInputDto InputHrModel) { var message = string.Empty; var success = DataModelValidate.AddOrUpdateResourceValidate(InputHrModel, ref message); if (!success) { return(Json(success, null, message)); } var manager = _remoteServiceClient.CreateResourceAppService(); var result = false; ApiResource apiResource = null; IdentityResource identityResource = null; if (!string.IsNullOrEmpty(InputHrModel.Name) && string.IsNullOrEmpty(InputHrModel.IdentityName)) { apiResource = _mapper.Map <ApiResource>(InputHrModel); result = await manager.UpdateApiResourcesAsync(new List <ApiResource>() { apiResource }) > 0; } else if (string.IsNullOrEmpty(InputHrModel.Name) && !string.IsNullOrEmpty(InputHrModel.IdentityName)) { InputHrModel.Name = InputHrModel.IdentityName; identityResource = _mapper.Map <IdentityResource>(InputHrModel); result = await manager.UpdateIdentityResourcesAsync(new List <IdentityResource>() { identityResource }) > 0; } return(Json(result, apiResource != null ? (object)apiResource : identityResource, result ? "操作成功" : "操作失败")); }
public async Task <IActionResult> DelResource([FromBody] ResourceInputDto InputHrModel) { var manager = _remoteServiceClient.CreateResourceAppService(); var result = false; if (!string.IsNullOrEmpty(InputHrModel.Name) && string.IsNullOrEmpty(InputHrModel.IdentityName)) { result = await manager.DeleteApiResourceAsync(InputHrModel.Name); } else if (string.IsNullOrEmpty(InputHrModel.Name) && !string.IsNullOrEmpty(InputHrModel.IdentityName)) { InputHrModel.Name = InputHrModel.IdentityName; result = await manager.DeleteIdentityResourceAsync(InputHrModel.Name); } return(Json(result, null, result ? "操作成功" : "操作失败")); }
public void SubmitForm(ResourceInputDto resourceInputDto, string keyValue) { Resource resource = new Resource(); if (!string.IsNullOrEmpty(keyValue)) { var id = Convert.ToInt64(keyValue); resource = resourceRepository.Get(id); AutoMapper.Mapper.Map <ResourceInputDto, Resource>(resourceInputDto, resource); resource.LastModificationTime = DateTime.Now; resourceRepository.Update(resource); } else { AutoMapper.Mapper.Map <ResourceInputDto, Resource>(resourceInputDto, resource); resource.Id = IdWorkerHelper.GenId64(); resource.CreationTime = DateTime.Now; resource.DeletedMark = false; resourceRepository.Add(resource); } }
public async Task <IActionResult> OnPostGetByNameAsync([FromBody] ResourceInputDto InputHrModel) { if (!string.IsNullOrEmpty(InputHrModel.Name) || !string.IsNullOrEmpty(InputHrModel.IdentityName)) { var manager = _remoteServiceClient.CreateResourceAppService(); if (!string.IsNullOrEmpty(InputHrModel.Name)) { var resource = await manager.FindApiResourceAsync(InputHrModel.Name); if (resource != null) { var apiResource = _mapper.Map <ApiResourceOutputDto>(resource); return(new JsonResult(new AjaxResult() { Success = true, Message = "", Data = apiResource })); } } if (!string.IsNullOrEmpty(InputHrModel.IdentityName)) { var resource = await manager.FindIdentityResourcesByScopeAsync(new List <string> { InputHrModel.IdentityName }); if (resource != null) { var apiResource = _mapper.Map <IdentityResourceOutputDto>(resource.FirstOrDefault()); return(new JsonResult(new AjaxResult() { Success = true, Message = "", Data = apiResource })); } } } return(new JsonResult(new AjaxResult() { Success = false, Message = "未解析出操作参数" })); }
public ActionResult SubmitForm(ResourceInputDto resourceInputDto, string keyValue) { resourceService.SubmitForm(resourceInputDto, keyValue); return(Success("操作成功。")); }
/// <summary> /// 操作客户端,有修改和添加 /// </summary> /// <param name="InputHrModel"></param> /// <returns></returns> public async Task <IActionResult> OnPostActionClientAsync([FromBody] ResourceInputDto InputHrModel) { if (!string.IsNullOrWhiteSpace(InputHrModel.action)) { var manager = _remoteServiceClient.CreateResourceAppService(); var result = false; switch (InputHrModel.action) { case "add": if (!string.IsNullOrEmpty(InputHrModel.Name) && string.IsNullOrEmpty(InputHrModel.IdentityName)) { var model1 = _mapper.Map <ApiResource>(InputHrModel); result = await manager.CreateApiResourcesAsync(new List <ApiResource>() { model1 }) > 0; } else if (string.IsNullOrEmpty(InputHrModel.Name) && !string.IsNullOrEmpty(InputHrModel.IdentityName)) { InputHrModel.Name = InputHrModel.IdentityName; var Identity_model = _mapper.Map <IdentityResource>(InputHrModel); result = await manager.CreateIdentityResourcesAsync(new List <IdentityResource>() { Identity_model }) > 0; } break; case "update": if (!string.IsNullOrEmpty(InputHrModel.Name) && string.IsNullOrEmpty(InputHrModel.IdentityName)) { var model = _mapper.Map <ApiResource>(InputHrModel); result = await manager.UpdateApiResourcesAsync(new List <ApiResource>() { model }) > 0; } else if (string.IsNullOrEmpty(InputHrModel.Name) && !string.IsNullOrEmpty(InputHrModel.IdentityName)) { InputHrModel.Name = InputHrModel.IdentityName; var Identity_model = _mapper.Map <IdentityResource>(InputHrModel); result = await manager.UpdateIdentityResourcesAsync(new List <IdentityResource>() { Identity_model }) > 0; } break; case "del": if (!string.IsNullOrEmpty(InputHrModel.Name) && string.IsNullOrEmpty(InputHrModel.IdentityName)) { result = await manager.DeleteApiResourceAsync(InputHrModel.Name); } else if (string.IsNullOrEmpty(InputHrModel.Name) && !string.IsNullOrEmpty(InputHrModel.IdentityName)) { InputHrModel.Name = InputHrModel.IdentityName; result = await manager.DeleteIdentityResourceAsync(InputHrModel.Name); } break; default: break; } if (result) { return(new JsonResult(new AjaxResult() { Success = result, Message = "操作成功" })); } if (InputHrModel.action == "GetByName" && !string.IsNullOrEmpty(InputHrModel.Name)) { var resources = await manager.FindApiResourceAsync(InputHrModel.Name); var apiResource = _mapper.Map <List <ResourceInputDto> >(resources); return(new JsonResult(new AjaxResult() { Success = true, Message = "", Data = apiResource })); } } return(new JsonResult(new AjaxResult() { Success = false, Message = "操作失败" })); }