public void Save(IPlugin plugin) { oxite_Plugin foundPlugin = plugin.ID != Guid.Empty ? ( from p in context.oxite_Plugins where p.SiteID == siteID && p.PluginID == plugin.ID select p ).FirstOrDefault() : null; if (foundPlugin != null) { foundPlugin.PluginName = plugin.Name; foundPlugin.PluginCategory = plugin.Category; foundPlugin.Enabled = plugin.Enabled; //TODO: (erikpo) Add new fields here } else { context.oxite_Plugins.InsertOnSubmit( new oxite_Plugin() { SiteID = siteID, PluginID = plugin.ID != Guid.Empty ? plugin.ID : Guid.NewGuid(), PluginName = plugin.Name, PluginCategory = plugin.Category, #if DEBUG Enabled = false #else Enabled = true #endif //TODO: (erikpo) Add new fields here }
private IQueryable <oxite_PluginSetting> getPluginSettings(oxite_Plugin plugin) { return (from ps in context.oxite_PluginSettings where ps.SiteID == siteID && ps.PluginID == plugin.PluginID select ps); }
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(); }
public void SetEnabled(Guid siteID, Guid pluginID, bool enabled) { oxite_Plugin plugin = context.oxite_Plugins.FirstOrDefault(p => p.SiteID == siteID && p.PluginID == pluginID); if (plugin != null) { plugin.Enabled = enabled; context.SubmitChanges(); } }
public void SetEnabled(Plugin plugin, bool enabled) { oxite_Plugin foundPlugin = context.oxite_Plugins.FirstOrDefault(p => p.SiteID == siteID && p.PluginID == plugin.ID); if (foundPlugin == null) { return; } foundPlugin.Enabled = enabled; context.SubmitChanges(); }
public void Remove(Plugin plugin) { oxite_Plugin foundPlugin = context.oxite_Plugins.FirstOrDefault(p => p.SiteID == siteID && p.PluginID == plugin.ID); if (foundPlugin == null) { return; } removeExtendedProperties(context, siteID, new IExtendedPropertyStore[] { new ExtendedPropertyStoreBlank(typeof(Plugin).FullName, plugin.ID.ToString("N")) }); context.oxite_Plugins.DeleteOnSubmit(foundPlugin); context.SubmitChanges(); }
public void Remove(Guid siteID, Guid pluginID) { oxite_Plugin plugin = ( from p in context.oxite_Plugins where p.SiteID == siteID && p.PluginID == pluginID select p ).FirstOrDefault(); if (plugin != null) { removeExtendedProperties(context, siteID, new IExtendedPropertyStore[] { new ExtendedPropertyStoreBlank(typeof(Plugin).FullName, pluginID.ToString("N")) }); context.oxite_Plugins.DeleteOnSubmit(plugin); context.SubmitChanges(); } }
public Plugin Save(Plugin plugin) { oxite_Plugin pluginToSave = null; if (plugin.ID != Guid.Empty) { pluginToSave = context.oxite_Plugins.FirstOrDefault(p => p.SiteID == plugin.Site.ID && p.PluginID == plugin.ID); } if (pluginToSave == null) { pluginToSave = new oxite_Plugin(); pluginToSave.SiteID = plugin.Site.ID; pluginToSave.PluginID = plugin.ID != Guid.Empty ? plugin.ID : Guid.NewGuid(); pluginToSave.VirtualPath = plugin.VirtualPath; context.oxite_Plugins.InsertOnSubmit(pluginToSave); } pluginToSave.Enabled = plugin.Enabled; IExtendedPropertyStore[] extendedPropertiesScope = new IExtendedPropertyStore[] { new ExtendedPropertyStoreBlank(typeof(Plugin).FullName, pluginToSave.PluginID.ToString("N")) }; //TODO: (erikpo) Change the following to better "sync" the extended properties instead of just wiping them and re-adding them. removeExtendedProperties(context, plugin.Site.ID, extendedPropertiesScope); context.SubmitChanges(); foreach (ExtendedProperty extendedProperty in plugin.ExtendedProperties) { saveExtendedProperties(context, plugin.Site.ID, extendedProperty.Name, extendedProperty.Type, extendedProperty.Value, extendedPropertiesScope); } context.SubmitChanges(); return(GetPlugin(pluginToSave.SiteID, pluginToSave.PluginID)); }
private Plugin projectPlugin(Guid siteID, oxite_Plugin plugin) { return(new Plugin(plugin.SiteID, plugin.PluginID, plugin.VirtualPath, plugin.Enabled, getExtendedProperties(context, siteID, new IExtendedPropertyStore[] { new ExtendedPropertyStoreBlank(typeof(Plugin).FullName, plugin.PluginID.ToString("N")) }))); }