private XmlWorkspace CreateXmlWorkspace(DirectoryInfo sourceDir) { var workspace = XmlWorkspace.CreateFromDirectory(sourceDir.FullName); Log.Debug("Found {Count} documents at source", workspace.Documents.Length); foreach (var(kind, docs) in workspace.DocumentsByKind) { Log.Debug("- {Count}x {Kind}", docs.Length, kind); } foreach (var doc in workspace.Documents) { Log.Verbose("- {Kind} {Name} at {Path}", doc.Kind, doc.Name, doc.Filepath); } return(workspace); }
private IReadOnlyCollection <DatafileInfo> LoadFolderImpl() { var path = FolderPath; if (string.IsNullOrWhiteSpace(path)) { return(new DatafileInfo[0]); } var workspace = XmlWorkspace.CreateFromDirectory(path); var infos = workspace.Documents .Where(x => x.Kind == XmlDocumentKind.Gamesystem || x.Kind == XmlDocumentKind.Catalogue) .Select(xml => new DatafileInfo(xml)) .ToList(); return(infos); }