public static void AddMaps(IConfigFactory <IGlassMap> mapsConfigFactory) { string binPath = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "bin"); foreach (string dll in Directory.GetFiles(binPath, "SitecoreDev*.dll", SearchOption.AllDirectories)) { try { Assembly loadedAssembly = Assembly.LoadFile(dll); Type glassmapType = typeof(IGlassMap); var maps = loadedAssembly.GetTypes().Where(x => glassmapType.IsAssignableFrom(x)); if (maps != null) { foreach (var map in maps) { mapsConfigFactory.Add(() => Activator.CreateInstance(map) as IGlassMap); } } } catch (FileLoadException loadEx) { } // The Assembly has already been loaded. catch (BadImageFormatException imgEx) { } // If a BadImageFormatException exception is thrown, the file is not an assembly. } }
public static void AddFluentMaps(this IConfigFactory <IGlassMap> mapsConfigFactory, params Assembly[] assemblies) { Log.Info($"Glass.Mapper Fluent Mapping starting!", new object()); assemblies.ToList().ForEach(assembly => { if (assembly.GetReferencedAssemblies().Any(refAssembly => refAssembly.Name.Equals("Glass.Mapper", StringComparison.InvariantCultureIgnoreCase))) { Log.Info($"Fluent Mapping Load: {assembly.FullName}", new object()); var mappings = assembly.GetTypes().Where(x => typeof(IGlassMap).IsAssignableFrom(x)); foreach (var map in mappings) { mapsConfigFactory.Add(() => Activator.CreateInstance(map) as IGlassMap); Log.Info($"Fluent Mapping Loaded: {map.FullName}", new object()); } } else { Log.Info($"Skipping {assembly.FullName} it has no Glass.Mapper reference at all.", new object()); } }); Log.Info($"Glass.Mapper Fluent Mapping completed!", new object()); }
public static void AddMaps(IConfigFactory <IGlassMap> mapsConfigFactory) { // Add maps here // mapsConfigFactory.Add(() => new SeoMap()); mapsConfigFactory.Add(() => new IArticleMap()); }
public static void AddMaps(IConfigFactory <IGlassMap> mapsConfigFactory) { var factory = new SitecoreSettingsFactory(); //Load referenced assemblies var assemblies = Assembly.GetExecutingAssembly().GetReferencedAssemblies().Select(Assembly.Load).ToList(); //load possible standalone assemblies assemblies.AddRange(AppDomain.CurrentDomain.GetAssemblies() .Where(assembly => assembly.GetCustomAttributes(typeof(IgnitionAutomapAttribute)).Any()) .Where(a => !assemblies.Contains(a)) .Select(a => Assembly.Load(a.FullName))); var manyTypes = assemblies.SelectMany(s => s.GetTypes()); var filteredTypes = manyTypes.Where(p => typeof(IGlassMap).IsAssignableFrom(p) && !p.IsAbstract && !p.IsInterface) .ToList(); filteredTypes.ForEach(a => mapsConfigFactory.Add(() => { var mapper = (IGlassMap)Activator.CreateInstance(a); var setting = mapper as IGlassSettingsConsumer; if (setting != null) { setting.SettingsFactory = factory; } return((IGlassMap)setting ?? mapper); })); }
public static void AddMaps(IConfigFactory <IGlassMap> mapsConfigFactory) { // Add maps here mapsConfigFactory.Add(() => new TaxonomyMap()); //mapsConfigFactory.Add(() => new ListableConfig()); //mapsConfigFactory.Add(() => new ArticleMap()); //mapsConfigFactory.Add(() => new ScripConfig()); }
public static void AddFluentMaps(this IConfigFactory <IGlassMap> mapsConfigFactory, params Assembly[] assemblies) { var mappings = GetTypes.GetTypesImplementing <IGlassMap>(assemblies); foreach (var map in mappings) { mapsConfigFactory.Add(() => Activator.CreateInstance(map) as IGlassMap); } }
public static void AddMaps(IConfigFactory <IGlassMap> mapsConfigFactory) { // Add maps here var assemblies = AppDomain.CurrentDomain.GetAssemblies().Where(x => x.FullName.IndexOf("Helixbase", StringComparison.OrdinalIgnoreCase) >= 0); var glassmapType = typeof(IGlassMap); foreach (var assembly in assemblies) { var mappings = assembly.GetTypes().Where(x => glassmapType.IsAssignableFrom(x)); foreach (var map in mappings) { mapsConfigFactory.Add(() => Activator.CreateInstance(map) as IGlassMap); } } }
public static void AddMaps(IConfigFactory <IGlassMap> mapsConfigFactory) { var configurationAssemblies = AppDomain.CurrentDomain.GetAssemblies().Where(x => x.FullName.EndsWith("Model", StringComparison.OrdinalIgnoreCase)).ToList(); if (configurationAssemblies != null) { Type glassmapType = typeof(IGlassMap); foreach (var assembly in configurationAssemblies) { var maps = assembly.GetTypes().Where(x => glassmapType.IsAssignableFrom(x)); if (maps != null) { foreach (var map in maps) { mapsConfigFactory.Add(() => Activator.CreateInstance(map) as IGlassMap); } } } } }
public static void AddMaps(IConfigFactory<IGlassMap> mapsConfigFactory) { // Add maps here // mapsConfigFactory.Add(() => new SeoMap()); mapsConfigFactory.Add(() => new BreadcrumbMap()); mapsConfigFactory.Add(() => new CanonicalMap()); mapsConfigFactory.Add(() => new FacebookMetadataMap()); mapsConfigFactory.Add(() => new GooglePlusMetadataMap()); mapsConfigFactory.Add(() => new MetadataMap()); mapsConfigFactory.Add(() => new NavigationMap()); mapsConfigFactory.Add(() => new ScriptsMap()); mapsConfigFactory.Add(() => new SearchMap()); mapsConfigFactory.Add(() => new SitemapMap()); mapsConfigFactory.Add(() => new TwitterMetadataMap()); mapsConfigFactory.Add(() => new SocialSettingsMap()); mapsConfigFactory.Add(() => new PageMetadataMap()); mapsConfigFactory.Add(() => new GlassBaseMap()); mapsConfigFactory.Add(() => new GlassBaseIMap()); }
public static void AddMaps(IConfigFactory <IGlassMap> mapsConfigFactory) { // Add maps here // mapsConfigFactory.Add(() => new SeoMap()); mapsConfigFactory.Add(() => new BreadcrumbMap()); mapsConfigFactory.Add(() => new CanonicalMap()); mapsConfigFactory.Add(() => new FacebookMetadataMap()); mapsConfigFactory.Add(() => new GooglePlusMetadataMap()); mapsConfigFactory.Add(() => new MetadataMap()); mapsConfigFactory.Add(() => new NavigationMap()); mapsConfigFactory.Add(() => new ScriptsMap()); mapsConfigFactory.Add(() => new SearchMap()); mapsConfigFactory.Add(() => new SitemapMap()); mapsConfigFactory.Add(() => new TwitterMetadataMap()); mapsConfigFactory.Add(() => new SocialSettingsMap()); mapsConfigFactory.Add(() => new PageMetadataMap()); mapsConfigFactory.Add(() => new GlassBaseMap()); mapsConfigFactory.Add(() => new GlassBaseIMap()); }
public static void AddMaps(IConfigFactory <IGlassMap> mapsConfigFactory) { mapsConfigFactory.Add(() => new IFluentArticleMap()); }