public void UseConfiguration_AddConfiguration_ConfigurationAdded() { var randomText = Guid.NewGuid().ToString(); this.Configuration.Add(new PluginConfiguration() { Id = Guid.NewGuid(), Explanations = randomText, IsActivated = true, IsMandatory = true, Name = randomText, IsRecommended = true, }); using (var stream = new MemoryStream()) using (var writer = new StreamWriter(stream)) { this.Configuration.Save(writer); stream.Position = 0; using (var reader = new StreamReader(stream)) { var config = PluginsConfigurationFolder.Load(reader); Assert.AreEqual(PLUGINCOUNT + 1, config.Values.Count()); } } }
private PluginsConfigurationFolder GetPluginsConfigurationFolder() { var appdata = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); var fileName = (string.IsNullOrWhiteSpace(ConfigurationManager.AppSettings["pluginSettings"])) ? Path.Combine(appdata, @"Probel\nDoctor\Plugins.config") : ConfigurationManager.AppSettings["appSettings"]; return((File.Exists(fileName)) ? PluginsConfigurationFolder.Load(fileName) : PluginsConfigurationFolder.LoadDefault()); }
public void SaveConfiguration_SaveDefaultData_CanReloadFromStream() { using (var stream = new MemoryStream()) using (var writer = new StreamWriter(stream)) { this.Configuration.Save(writer); stream.Position = 0; using (var reader = new StreamReader(stream)) { var folder = PluginsConfigurationFolder.Load(reader); Assert.AreEqual(folder.Values.Count(), PLUGINCOUNT); } } }
private void Load() { try { this.Folder = (!File.Exists(FileName)) ? PluginsConfigurationFolder.LoadDefault() : PluginsConfigurationFolder.Load(FileName); var dto = Mapper.Map <IEnumerable <PluginConfiguration>, IEnumerable <PluginConfigurationDto> >(this.Folder.Values); this.Configurations.Refill(dto); if (this.Configurations.Count > 0) { this.SelectedConfiguration = this.Configurations[0]; } } catch (Exception ex) { this.Logger.Error(ex); } }
public MefPluginLoader(string repository, PluginsConfigurationFolder folder) { this.Repository = repository; this.PluginConfiguration = folder; }
public void Setup() { this.Configuration = PluginsConfigurationFolder.LoadDefault(); }