public void WriteComponentGroupConfiguration(string uid, ComponentGroupConfiguration configuration) { if (uid == null) { throw new ArgumentNullException(nameof(uid)); } if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } _storageService.Write(configuration, ComponentGroupsDirectory, uid, DefaultFilenames.Configuration); }
private void Save(ComponentGroup componentGroup) { var configuration = new ComponentGroupConfiguration(); _storageService.Write(configuration, ComponentGroupsDirectory, componentGroup.Uid, DefaultFilenames.Configuration); foreach (var componentAssociation in componentGroup.Components) { SaveComponentAssociationSettings(componentGroup, componentAssociation.Key, componentAssociation.Value); } foreach (var componentAssociation in componentGroup.Macros) { SaveMacroAssociationSettings(componentGroup, componentAssociation.Key, componentAssociation.Value); } }
public void CreateComponentGroup(string uid, ComponentGroupConfiguration configuration) { lock (_componentGroups) { if (!_componentGroups.TryGetValue(uid, out var componentGroup)) { componentGroup = new ComponentGroup(uid); } // Copy configuration values as soon as some are available. _componentGroups[uid] = componentGroup; Save(); } }
private void Save() { foreach (var componentGroup in _componentGroups.Values) { var configuration = new ComponentGroupConfiguration(); _storageService.Write(configuration, "ComponentGroups", componentGroup.Uid, "Configuration.json"); foreach (var componentAssociation in componentGroup.Components) { _storageService.Write(componentAssociation.Value.Settings, "ComponentGroups", componentGroup.Uid, "Components", componentAssociation.Key, "Settings.json"); } foreach (var componentAssociation in componentGroup.Macros) { _storageService.Write(componentAssociation.Value.Settings, "ComponentGroups", componentGroup.Uid, "Macros", componentAssociation.Key, "Settings.json"); } } }
private void Save() { foreach (var componentGroup in _componentGroups.Values) { var configuration = new ComponentGroupConfiguration(); _storageService.Write(configuration, ComponentGroupsDirectory, componentGroup.Uid, DefaultFilenames.Configuration); foreach (var componentAssociation in componentGroup.Components) { _storageService.Write(componentAssociation.Value.Settings, ComponentGroupsDirectory, componentGroup.Uid, "Components", componentAssociation.Key, DefaultFilenames.Settings); } foreach (var componentAssociation in componentGroup.Macros) { _storageService.Write(componentAssociation.Value.Settings, ComponentGroupsDirectory, componentGroup.Uid, "Macros", componentAssociation.Key, DefaultFilenames.Settings); } } }
public void Post(string uid, [FromBody] ComponentGroupConfiguration configuration) { _componentGroupRegistryService.CreateComponentGroup(uid, configuration); }