protected void ProcessResource(Node node, Resource resource) { var nodePath = _CourseStorage.GetNodePath(node.Id); var coursePath = _CourseStorage.GetCoursePath(node.CourseId); File.Copy(Path.Combine(_CourseTempPath, resource.Href), nodePath + ".html", true); foreach (var file in resource.Files) { if (file.Href != resource.Href) { File.Copy(Path.Combine(_CourseTempPath, file.Href), Path.Combine(coursePath, file.Href)); } } foreach (var dependency in resource.Dependencies) { var depResource = _Manifest.Resources._Resources.Where(r => r.Identifier == dependency.IdentifierRef).FirstOrDefault(); if (depResource != null) { _Manifest.Resources._Resources.Remove(depResource); ProcessDependencyResource(node, depResource); } } }
public Importer(Manifest manifest, Course course, ICourseStorage courseStorage) { _Manifest = manifest; _Course = course; _CourseStorage = courseStorage; _CoursePath = _CourseStorage.GetCoursePath(_Course.Id); _CourseTempPath = _CourseStorage.GetCourseTempPath(_Course.Id); }