/// <summary>
 /// 删除资源相关的客户
 /// </summary>
 /// <param name="list">资源To客户对象</param>
 /// <returns></returns>
 public Task <bool> DelResourceToClient(List <SysApiResourceToClientInput> list)
 {
     if (list == null || !list.Any())
     {
         throw new UserFriendlyException("授权客户删除", "请选择资源相关的授权客户。");
     }
     foreach (var item in list)
     {
         _sysApiResourceToClientRepository.Delete(w => w.ApiResourceId == item.ApiResourceId && w.ApiClientId == item.ApiClientId);
     }
     return(Task.FromResult(true));
 }
        /// <summary>
        /// 保存授权客户
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <bool> SaveSysApiClient(SysApiClientInput model)
        {
            var isRepeat = _sysApiClientRepository.GetAllList(w => w.ClientId == model.ClientId && w.Id != model.Id).Any();

            if (isRepeat)
            {
                throw new UserFriendlyException("授权客户重复", "您设置的授权客户" + model.ClientId + "重复!");
            }
            Guid id;

            if (model.Id == null)
            {
                SysApiClient modelInput = ObjectMapper.Map <SysApiClient>(model);
                id = await _sysApiClientRepository.InsertAndGetIdAsync(modelInput);
            }
            else
            {
                SysApiClient data = _sysApiClientRepository.Get(model.Id.Value);
                SysApiClient m    = ObjectMapper.Map(model, data);
                await _sysApiClientRepository.UpdateAsync(m);

                id = m.Id;
            }
            //保存客户与资源关系
            _sysApiResourceToClientRepository.Delete(w => w.ApiClientId == id);
            if (!string.IsNullOrEmpty(model.ApiResourceId))
            {
                _sysApiResourceToClientRepository.Insert(new SysApiResourceToClient()
                {
                    ApiClientId = id, ApiResourceId = Guid.Parse(model.ApiResourceId)
                });
            }
            //移除缓存
            _sysIdentityServerCacheAppService.RemoveClientAndAccountCache();
            _sysIdentityServerCacheAppService.RemoveClientCache();
            return(true);
        }