public static IMiCakeModuleCollection ToMiCakeModuleCollection(this IEnumerable <MiCakeModuleDescriptor> source)
        {
            MiCakeModuleCollection miCakeModules = new MiCakeModuleCollection();

            foreach (var item in source)
            {
                miCakeModules.Add(item);
            }

            return(miCakeModules);
        }
Пример #2
0
        private static (IMiCakeModuleCollection before, IMiCakeModuleCollection after) AssignFeatureModules(IMiCakeModuleCollection featureModules)
        {
            var beforeFeatureModules = new MiCakeModuleCollection();
            var afterFeatureModules  = new MiCakeModuleCollection();

            foreach (var featureModule in featureModules)
            {
                bool depencyIsAfter = featureModule.RelyOnModules.Any(module =>
                                                                      ((IFeatureModule)module.Instance).Order == FeatureModuleLoadOrder.AfterCommonModule);

                var currentOrder = ((IFeatureModule)featureModule.Instance).Order;
                if (!depencyIsAfter && currentOrder == FeatureModuleLoadOrder.BeforeCommonModule)
                {
                    beforeFeatureModules.Add(featureModule);
                }
                else
                {
                    afterFeatureModules.Add(featureModule);
                }
            }

            return(beforeFeatureModules, afterFeatureModules);
        }