コード例 #1
0
        public async Task <List <ConfigurationItemListDTO> > GetAllConfigurationItemAsync(string address, string projectName, string[] namespaceNames)
        {
            var data = new QueryConfigurationItemFilterModel
            {
                ProjectName    = projectName,
                NamespaceNames = namespaceNames
            };
            List <ConfigurationItemListDTO> result = await SendPostAsync <List <ConfigurationItemListDTO> >($"{address}api/ConfigurationItem/GetConfigurationItemList", data);

            return(result);
        }
コード例 #2
0
        public async Task CopyConfigServer(CopyConfigServerModel model, string token)
        {
            if (!_configServers.ContainsKey(model.SourceConfigServerName))
            {
                throw new MateralConfigCenterException($"服务{model.SourceConfigServerName}不存在");
            }
            var filterModel = new QueryConfigurationItemFilterModel();
            List <ConfigurationItemListDTO> configurationItems = await _configServerRepository.GetConfigurationItemAsync(filterModel, _configServers[model.SourceConfigServerName].Address);

            var addModels = _mapper.Map <List <AddConfigurationItemModel> >(configurationItems);

            RunTask(configServer => _configServerRepository.InitConfigurationItemsAsync(configServer.Address, token, addModels), model.TargetConfigServerNames);
        }
コード例 #3
0
        public async Task <ResultModel <List <ConfigurationItemListDTO> > > GetConfigurationItemList(QueryConfigurationItemFilterModel filterModel)
        {
            try
            {
                List <ConfigurationItemListDTO> result = await configurationItemService.GetConfigurationItemListAsync(filterModel);

                return(ResultModel <List <ConfigurationItemListDTO> > .Success(result, "查询成功"));
            }
            catch (AspectInvocationException ex)
            {
                return(ResultModel <List <ConfigurationItemListDTO> > .Fail(ex.InnerException?.Message));
            }
            catch (MateralConfigCenterException ex)
            {
                return(ResultModel <List <ConfigurationItemListDTO> > .Fail(ex.Message));
            }
        }
コード例 #4
0
        public async Task <List <ConfigurationItemListDTO> > GetConfigurationItemListAsync(QueryConfigurationItemFilterModel filterModel)
        {
            Expression <Func <ConfigurationItem, bool> > searchExpression = filterModel.GetSearchExpression <ConfigurationItem>();

            if (filterModel.NamespaceNames != null && filterModel.NamespaceNames.Length > 0)
            {
                Expression <Func <ConfigurationItem, bool> > temp = null;
                foreach (string namespaceName in filterModel.NamespaceNames)
                {
                    temp = temp == null ? m => m.NamespaceName.Equals(namespaceName) : temp.Or(m => m.NamespaceName.Equals(namespaceName));
                }
                searchExpression = searchExpression.And(temp);
            }
            ConfigCenterEnvironmentConsoleHelper.WriteLine("拼接条件完毕", "Debug", ConsoleColor.DarkGreen);
            List <ConfigurationItem> allConfigurationItems = await _configurationItemRepository.GetAllInfoFromCacheAsync();

            ConfigCenterEnvironmentConsoleHelper.WriteLine(allConfigurationItems == null ? "以从环境获取数据,但为空" : $"以从环境获取数据,数量:{allConfigurationItems.Count}", "Debug",
                                                           ConsoleColor.DarkGreen);
            if (allConfigurationItems == null)
            {
                return(null);
            }
            List <ConfigurationItem> configurationItemsFromDb = allConfigurationItems.Where(searchExpression.Compile()).OrderBy(m => m.Key).ToList();

            ConfigCenterEnvironmentConsoleHelper.WriteLine($"已通过条件筛选完毕,数量:{configurationItemsFromDb.Count}", "Debug", ConsoleColor.DarkGreen);
            var result = _mapper.Map <List <ConfigurationItemListDTO> >(configurationItemsFromDb);

            return(result);
        }
コード例 #5
0
        public async Task <List <ConfigurationItemListDTO> > GetConfigurationItemListAsync(QueryConfigurationItemFilterModel filterModel)
        {
            Expression <Func <ConfigurationItem, bool> > searchExpression = filterModel.GetSearchExpression <ConfigurationItem>();

            if (filterModel.NamespaceNames != null && filterModel.NamespaceNames.Length > 0)
            {
                Expression <Func <ConfigurationItem, bool> > temp = null;
                foreach (string namespaceName in filterModel.NamespaceNames)
                {
                    temp = temp == null ? m => m.NamespaceName.Equals(namespaceName) : temp.Or(m => m.NamespaceName.Equals(namespaceName));
                }
                searchExpression = searchExpression.And(temp);
            }
            List <ConfigurationItem> allConfigurationItems = await _configurationItemRepository.GetAllInfoFromCacheAsync();

            List <ConfigurationItem> configurationItemsFromDb = allConfigurationItems.Where(searchExpression.Compile()).OrderBy(m => m.Key).ToList();
            var result = _mapper.Map <List <ConfigurationItemListDTO> >(configurationItemsFromDb);

            return(result);
        }
コード例 #6
0
        public async Task <List <ConfigurationItemListDTO> > GetConfigurationItemAsync(QueryConfigurationItemFilterModel filterModel, string address)
        {
            List <ConfigurationItemListDTO> result = await SendPostAsync <List <ConfigurationItemListDTO> >($"{address}api/ConfigurationItem/GetConfigurationItemList", filterModel);

            return(result);
        }
コード例 #7
0
        public async Task <List <ConfigurationItemListDTO> > GetConfigurationItemListAsync(QueryConfigurationItemFilterModel filterModel)
        {
            Expression <Func <ConfigurationItem, bool> > searchExpression = filterModel.GetSearchExpression <ConfigurationItem>();

            if (filterModel.NamespaceNames != null && filterModel.NamespaceNames.Length > 0)
            {
                Expression <Func <ConfigurationItem, bool> > temp = null;
                foreach (string namespaceName in filterModel.NamespaceNames)
                {
                    if (temp == null)
                    {
                        temp = m => m.NamespaceName.Equals(namespaceName);
                    }
                    else
                    {
                        temp = temp.Or(m => m.NamespaceName.Equals(namespaceName));
                    }
                }
                searchExpression = searchExpression.And(temp);
            }
            List <ConfigurationItem> configurationItemsFromDb = await _configurationItemRepository.FindAsync(searchExpression, m => m.Key, SortOrder.Ascending);

            var result = _mapper.Map <List <ConfigurationItemListDTO> >(configurationItemsFromDb);

            return(result);
        }