Exemple #1
0
        public async Task InitConfigurationItemsAsync(ICollection <AddConfigurationItemModel> model)
        {
            List <ConfigurationItem> allConfigurationItems = await _configurationItemRepository.FindAsync(m => true);

            foreach (AddConfigurationItemModel item in model)
            {
                ConfigurationItem configurationItem = allConfigurationItems.FirstOrDefault(m => m.ProjectID == item.ProjectID && m.NamespaceID == item.NamespaceID && m.Key == item.Key);
                if (configurationItem == null)
                {
                    configurationItem = item.CopyProperties <ConfigurationItem>();
                    _configCenterEnvironmentUnitOfWork.RegisterAdd(configurationItem);
                }
                else
                {
                    configurationItem.Value       = item.Value;
                    configurationItem.Description = item.Description;
                    _configCenterEnvironmentUnitOfWork.RegisterEdit(configurationItem);
                }
            }
            await _configCenterEnvironmentUnitOfWork.CommitAsync();

            await _configurationItemRepository.ClearCacheAsync();
        }