/// <summary> /// Helper method that performs the downloading. /// </summary> /// <param name="availableUpdates"></param> /// <param name="modulePackages"></param> private void DownloadPackages(IEnumerable <ModuleManifest> availableUpdates, Dictionary <string, ModulePackage> modulePackages) { // FIXME: do not get the packages which are already installed. foreach (ModuleManifest availableUpdate in availableUpdates) { foreach (ModuleDependency moduleDependency in availableUpdate.ModuleDependencies) { // preventing getting the same file twice if (!modulePackages.ContainsKey(moduleDependency.ModuleName)) { modulePackages[moduleDependency.ModuleName] = _modulesRepository.GetModule(moduleDependency.ModuleName); } } // preventing getting the same file twice if (!modulePackages.ContainsKey(availableUpdate.ModuleName)) { modulePackages[availableUpdate.ModuleName] = _modulesRepository.GetModule(availableUpdate.ModuleName); } } }
/// <summary> /// Returns module by it's identity /// </summary> public virtual IModule GetModule(ModuleIdentity moduleIdentity) { return(_modulesRepository.GetModule(moduleIdentity)); }