public void SaveSetting(Guid pluginID, string name, string value) { if (pluginID == Guid.Empty) { throw new ArgumentException("Guid.Empty is not a valid value", "pluginID"); } if (value == null) { throw new ArgumentNullException("value"); } oxite_PluginSetting setting = getSetting(pluginID, name); if (setting != null) { setting.PluginSettingValue = value; } else { context.oxite_PluginSettings.InsertOnSubmit( new oxite_PluginSetting() { SiteID = siteID, PluginID = pluginID, PluginSettingName = name, PluginSettingValue = value } ); } context.SubmitChanges(); }
public void Save(IBackgroundService backgroundService, NameValueCollection settings) { oxite_Plugin foundPlugin = backgroundService.ID != Guid.Empty ? ( from p in context.oxite_Plugins where p.SiteID == siteID && p.PluginID == backgroundService.ID select p ).FirstOrDefault() : null; if (foundPlugin != null) { foundPlugin.PluginName = backgroundService.Name; foundPlugin.PluginCategory = backgroundService.Category; foundPlugin.Enabled = backgroundService.Enabled; //TODO: (erikpo) Add new fields here } else { context.oxite_Plugins.InsertOnSubmit( new oxite_Plugin() { SiteID = siteID, PluginID = backgroundService.ID != Guid.Empty ? backgroundService.ID : Guid.NewGuid(), PluginName = backgroundService.Name, PluginCategory = backgroundService.Category, Enabled = backgroundService.Enabled //TODO: (erikpo) Add new fields here } ); } if (settings != null) { foreach (string name in settings.AllKeys) { oxite_PluginSetting setting = getSetting(backgroundService.ID, name); if (setting != null) { setting.PluginSettingValue = settings[name]; } else { context.oxite_PluginSettings.InsertOnSubmit( new oxite_PluginSetting() { SiteID = siteID, PluginID = backgroundService.ID, PluginSettingName = name, PluginSettingValue = settings[name] } ); } } //TODO: (erikpo) Cleanup settings that aren't needed anymore } context.SubmitChanges(); }
public void Save(IPlugin plugin, NameValueCollection settings) { oxite_Plugin foundPlugin = ( from p in context.oxite_Plugins where p.SiteID == siteID && p.PluginID == plugin.ID select p ).FirstOrDefault(); if (foundPlugin != null) { foundPlugin.PluginName = plugin.Name; foundPlugin.PluginCategory = plugin.Category; foundPlugin.Enabled = plugin.Enabled; } else { context.oxite_Plugins.InsertOnSubmit( new oxite_Plugin() { SiteID = siteID, PluginID = plugin.ID, PluginName = plugin.Name, PluginCategory = plugin.Category, Enabled = plugin.Enabled } ); } if (settings != null) { foreach (string name in settings.AllKeys) { oxite_PluginSetting setting = getSetting(plugin.ID, name); if (setting != null) { setting.PluginSettingValue = settings[name]; } else { context.oxite_PluginSettings.InsertOnSubmit( new oxite_PluginSetting() { SiteID = siteID, PluginID = plugin.ID, PluginSettingName = name, PluginSettingValue = settings[name] } ); } } //TODO: (erikpo) Cleanup settings that aren't needed anymore } context.SubmitChanges(); }