Example #1
0
        /// <summary>Gibt anhand der gespeicherten Settings den passenden Provider zurück.</summary>
        public IPublishProvider publishProviderBySettings(publishSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentException("settings");
            }

            foreach (var type in Assembly.GetExecutingAssembly().GetTypes())
            {
                //Alle Typen die nicht von publishBase erben ignorieren
                if (type.BaseType != typeof(publishBase))
                {
                    continue;
                }

                var instance = (IPublishProvider)Activator.CreateInstance(type);
                if (instance.Id == settings.parentId)
                {
                    //Passenden Provider gefunden, notwendige Eigenschaften Setzen und Instanz zurückgeben.
                    instance.Session  = _session;
                    instance.Settings = settings;
                    return(instance);
                }
            }
            throw new publishFactoryException(string.Format("Für die ID {0} konnte kein publishProvider ermittelt werden.",
                                                            settings.parentId));
        }
		/// <summary>Gibt anhand der gespeicherten Settings den passenden Provider zurück.</summary>
		public IPublishProvider publishProviderBySettings(publishSettings settings) {
			if (settings == null)
				throw new ArgumentException("settings");

			foreach(var type in Assembly.GetExecutingAssembly().GetTypes()) {
				
				//Alle Typen die nicht von publishBase erben ignorieren
				if(type.BaseType != typeof(publishBase))
					continue;

				var instance = (IPublishProvider)Activator.CreateInstance(type);
				if(instance.Id == settings.parentId) {
					//Passenden Provider gefunden, notwendige Eigenschaften Setzen und Instanz zurückgeben.
					instance.Session = _session;
					instance.Settings = settings;
					return instance;
				}
			}
			throw new publishFactoryException(string.Format("Für die ID {0} konnte kein publishProvider ermittelt werden.",
			                                                settings.parentId));
		}