public static IMiCakeModuleCollection ToMiCakeModuleCollection(this IEnumerable <MiCakeModuleDescriptor> source) { MiCakeModuleCollection miCakeModules = new MiCakeModuleCollection(); foreach (var item in source) { miCakeModules.Add(item); } return(miCakeModules); }
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); }