public async Task InitConfigurationItemsByNamespaceAsync(InitConfigurationItemsByNamespaceModel model)
        {
            List <ConfigurationItem> allConfigurationItems = await _configurationItemRepository.FindAsync(m => m.NamespaceID == model.NamespaceID);

            foreach (ConfigurationItem configurationItem in allConfigurationItems)
            {
                _protalServerUnitOfWork.RegisterDelete(configurationItem);
            }
            foreach (AddConfigurationItemModel itemModel in model.ConfigurationItems)
            {
                var configurationItem = itemModel.CopyProperties <ConfigurationItem>();
                _protalServerUnitOfWork.RegisterAdd(configurationItem);
            }
            await _protalServerUnitOfWork.CommitAsync();
        }
예제 #2
0
        public async Task <ResultModel> InitConfigurationItemsByNamespace(InitConfigurationItemsByNamespaceModel model)
        {
            try
            {
                await configurationItemService.InitConfigurationItemsByNamespaceAsync(model);

                return(ResultModel.Success("添加成功"));
            }
            catch (AspectInvocationException ex)
            {
                return(ResultModel.Fail(ex.InnerException?.Message));
            }
            catch (MateralConfigCenterException ex)
            {
                return(ResultModel.Fail(ex.Message));
            }
        }
예제 #3
0
        public async Task CopyNamespace(CopyNamespaceModel model, string token)
        {
            if (!_configServers.ContainsKey(model.SourceConfigServerName))
            {
                throw new MateralConfigCenterException($"服务{model.SourceConfigServerName}不存在");
            }
            var filterModel = new QueryConfigurationItemFilterModel
            {
                NamespaceID = model.NamespaceID
            };
            List <ConfigurationItemListDTO> configurationItems = await _configServerRepository.GetConfigurationItemAsync(filterModel, _configServers[model.SourceConfigServerName].Address);

            var addModel = new InitConfigurationItemsByNamespaceModel
            {
                ConfigurationItems = _mapper.Map <List <AddConfigurationItemModel> >(configurationItems),
                NamespaceID        = model.NamespaceID
            };

            RunTask(configServer => _configServerRepository.InitConfigurationItemsByNamespaceAsync(configServer.Address, token, addModel), model.TargetConfigServerNames);
        }
예제 #4
0
        public async Task InitConfigurationItemsByNamespaceAsync(string address, string token, InitConfigurationItemsByNamespaceModel model)
        {
            Dictionary <string, string> heads = GetDefaultHeads();

            heads["Authorization"] = $"Bearer {token}";
            await SendPostAsync($"{address}api/ConfigurationItem/InitConfigurationItemsByNamespace", model, heads);
        }