Esempio n. 1
0
        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);
            }));
        }
Esempio n. 5
0
 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());
 }
Esempio n. 6
0
        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());
 }