Exemple #1
0
        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 ? "操作成功" : "操作失败"));
        }
Exemple #4
0
        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);
            }
        }
Exemple #5
0
        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("操作成功。"));
 }
Exemple #7
0
        /// <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 = "操作失败"
            }));
        }