public void SaveTextPluginSettings(TextPlugin plugin) { int index = TextPlugins.IndexOf(plugin); if (index == -1) TextPlugins.Add(plugin); else TextPlugins[index] = plugin; }
public PluginViewModel(TextPlugin plugin) : this() { Id = plugin.Id; DatabaseId = plugin.DatabaseId; Name = plugin.Name; Description = plugin.Description; IsEnabled = plugin.Settings.IsEnabled; if (!string.IsNullOrEmpty(Description)) { Description = Description.Replace("\n", "<br/>"); Description = Description.Replace("\r", "<br/>"); } }
public void UpdateInstance(TextPlugin plugin) { throw new NotImplementedException(); }
public void RegisterTextPlugin(TextPlugin plugin) { TextPlugins.Add(plugin); }
/// <summary> /// Gets the cache key for a plugin's settings. /// </summary> /// <param name="plugin">The plugin. - its Id and Name is used in the cache key.</param> /// <returns>The cache key.</returns> public static string PluginSettingsKey(TextPlugin plugin) { string key = SITE_CACHE_PREFIX + PLUGIN_SETTINGS; key = key.Replace("{type}", plugin.GetType().Name); key = key.Replace("{id}", plugin.Id); return key; }
/// <summary> /// Allows additional text plugins to be registered at runtime. /// </summary> public void RegisterTextPlugin(TextPlugin plugin) { ServiceLocator.RegisterType<TextPlugin>(plugin); }
/// <summary> /// Allows additional text plugins to be registered at runtime. /// </summary> public void RegisterTextPlugin(TextPlugin plugin) { _container.Configure(x => x.For<TextPlugin>().Add(plugin)); }
public void SaveTextPluginSettings(TextPlugin plugin) { string version = plugin.Version; if (string.IsNullOrEmpty(version)) version = "1.0.0"; SiteConfigurationEntity entity = UnitOfWork.Find<SiteConfigurationEntity>() .FirstOrDefault(x => x.Id == plugin.DatabaseId); if (entity == null || entity.Id == Guid.Empty) { entity = new SiteConfigurationEntity(); entity.Id = plugin.DatabaseId; entity.Version = version; entity.Content = plugin.Settings.GetJson(); UnitOfWork.Add(entity); } else { entity.Version = version; entity.Content = plugin.Settings.GetJson(); } UnitOfWork.SaveChanges(); }
/// <summary> /// Updates the plugin settings. /// </summary> /// <param name="plugin">The text plugin.</param> public void UpdatePluginSettings(TextPlugin plugin) { _cache.Remove(CacheKeys.PluginSettingsKey(plugin)); _cache.Add(CacheKeys.PluginSettingsKey(plugin), plugin.Settings, new CacheItemPolicy()); }
/// <summary> /// Gets the plugin settings. /// </summary> /// <param name="plugin">The text plugin.</param> /// <returns> /// Returns the <see cref="Settings" /> or null if the plugin is not in the cache. /// </returns> public PluginSettings GetPluginSettings(TextPlugin plugin) { return _cache.Get(CacheKeys.PluginSettingsKey(plugin)) as PluginSettings; }
/// <summary> /// Removes the settings for given plugin from the cache. /// </summary> /// <param name="plugin">The plugin to remove the cached settings for.</param> public void RemovePluginSettings(TextPlugin plugin) { _cache.Remove(CacheKeys.PluginSettingsKey(plugin)); }
/// <summary> /// Allows additional text plugins to be registered at runtime. /// </summary> public void RegisterTextPlugin(TextPlugin plugin) { _container.Configure(x => x.For <TextPlugin>().Add(plugin)); }
/// <summary> /// Allows additional text plugins to be registered at runtime. /// </summary> public void RegisterTextPlugin(TextPlugin plugin) { ServiceLocator.RegisterType <TextPlugin>(plugin); }