コード例 #1
0
		public void SaveTextPluginSettings(TextPlugin plugin)
		{
			int index = TextPlugins.IndexOf(plugin);

			if (index == -1)
				TextPlugins.Add(plugin);
			else
				TextPlugins[index] = plugin;
		}
コード例 #2
0
ファイル: PluginViewModel.cs プロジェクト: ByBox/roadkill
		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/>");
			}
		}
コード例 #3
0
ファイル: PluginFactoryMock.cs プロジェクト: 35e8/roadkill
		public void UpdateInstance(TextPlugin plugin)
		{
			throw new NotImplementedException();
		}
コード例 #4
0
ファイル: PluginFactoryMock.cs プロジェクト: 35e8/roadkill
		public void RegisterTextPlugin(TextPlugin plugin)
		{
			TextPlugins.Add(plugin);
		}
コード例 #5
0
ファイル: CacheKeys.cs プロジェクト: NaseUkolyCZ/roadkill
        /// <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;
        }
コード例 #6
0
ファイル: PluginFactory.cs プロジェクト: NaseUkolyCZ/roadkill
 /// <summary>
 /// Allows additional text plugins to be registered at runtime.
 /// </summary>
 public void RegisterTextPlugin(TextPlugin plugin)
 {
     ServiceLocator.RegisterType<TextPlugin>(plugin);
 }
コード例 #7
0
ファイル: PluginFactory.cs プロジェクト: RyanGroom/roadkill
		/// <summary>
		/// Allows additional text plugins to be registered at runtime.
		/// </summary>
		public void RegisterTextPlugin(TextPlugin plugin)
		{
			_container.Configure(x => x.For<TextPlugin>().Add(plugin));
		}
コード例 #8
0
        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();
        }
コード例 #9
0
ファイル: SiteCache.cs プロジェクト: RyanGroom/roadkill
		/// <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());
		}
コード例 #10
0
ファイル: SiteCache.cs プロジェクト: RyanGroom/roadkill
		/// <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;
		}
コード例 #11
0
ファイル: SiteCache.cs プロジェクト: RyanGroom/roadkill
		/// <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));
		}
コード例 #12
0
 /// <summary>
 /// Allows additional text plugins to be registered at runtime.
 /// </summary>
 public void RegisterTextPlugin(TextPlugin plugin)
 {
     _container.Configure(x => x.For <TextPlugin>().Add(plugin));
 }
コード例 #13
0
ファイル: PluginFactory.cs プロジェクト: NaseUkolyCZ/roadkill
 /// <summary>
 /// Allows additional text plugins to be registered at runtime.
 /// </summary>
 public void RegisterTextPlugin(TextPlugin plugin)
 {
     ServiceLocator.RegisterType <TextPlugin>(plugin);
 }