|
@@ -3,13 +3,13 @@ using FNZCM2.Abstractions.Models.Fs;
|
|
|
|
|
|
namespace FNZCM2.Abstractions.Utility;
|
|
|
|
|
|
-using FSE = (bool isDir, string path, long size, System.DateTimeOffset lastWrited);
|
|
|
+using FSE = (bool isDir, string path, long size, DateTimeOffset lastWrited);
|
|
|
|
|
|
public static class FolderScan
|
|
|
{
|
|
|
public static FolderScanResult Scan(string folderPath)
|
|
|
{
|
|
|
- List<IFsEntry> allEntries = new();
|
|
|
+ //List<IFsEntry> allEntries = new();
|
|
|
List<FolderEntry> allFolders = new();
|
|
|
List<FileEntry> allFiles = new();
|
|
|
|
|
@@ -66,7 +66,7 @@ public static class FolderScan
|
|
|
LastChangedTime = e.lastWrited,
|
|
|
};
|
|
|
|
|
|
- allEntries.Add(folderEntry);
|
|
|
+ //allEntries.Add(folderEntry);
|
|
|
allFolders.Add(folderEntry);
|
|
|
}
|
|
|
else
|
|
@@ -80,37 +80,37 @@ public static class FolderScan
|
|
|
Size = e.size,
|
|
|
};
|
|
|
|
|
|
- allEntries.Add(fileEntry);
|
|
|
+ //allEntries.Add(fileEntry);
|
|
|
allFiles.Add(fileEntry);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- var allById = allEntries.ToDictionary(e => e.Id);
|
|
|
- var allInFolder = allEntries
|
|
|
- .GroupBy(e => e.FolderId)
|
|
|
- .ToDictionary(g => g.Key, g => (IReadOnlyList<IFsEntry>)g.ToArray());
|
|
|
+ //var allById = allEntries.ToDictionary(e => e.Id);
|
|
|
+ //var allInFolder = allEntries
|
|
|
+ // .GroupBy(e => e.FolderId)
|
|
|
+ // .ToDictionary(g => g.Key, g => (IReadOnlyList<IFsEntry>)g.ToArray());
|
|
|
|
|
|
- var folderById = allFolders.ToDictionary(f => f.Id);
|
|
|
- var foldersInFolder = allFolders
|
|
|
- .GroupBy(f => f.FolderId)
|
|
|
- .ToDictionary(g => g.Key, g => (IReadOnlyList<FolderEntry>)g.ToArray());
|
|
|
+ //var folderById = allFolders.ToDictionary(f => f.Id);
|
|
|
+ //var foldersInFolder = allFolders
|
|
|
+ // .GroupBy(f => f.FolderId)
|
|
|
+ // .ToDictionary(g => g.Key, g => (IReadOnlyList<FolderEntry>)g.ToArray());
|
|
|
|
|
|
- var fileById = allFiles.ToDictionary(f => f.Id);
|
|
|
- var filesInFolder = allFiles
|
|
|
- .GroupBy(f => f.FolderId)
|
|
|
- .ToDictionary(g => g.Key, g => (IReadOnlyList<FileEntry>)g.ToArray());
|
|
|
+ //var fileById = allFiles.ToDictionary(f => f.Id);
|
|
|
+ //var filesInFolder = allFiles
|
|
|
+ // .GroupBy(f => f.FolderId)
|
|
|
+ // .ToDictionary(g => g.Key, g => (IReadOnlyList<FileEntry>)g.ToArray());
|
|
|
|
|
|
return new FolderScanResult
|
|
|
{
|
|
|
- All = allEntries,
|
|
|
- AllById = allById,
|
|
|
- AllInFolder = allInFolder,
|
|
|
- Folders = allFolders,
|
|
|
- FolderById = folderById,
|
|
|
- FoldersInFolder = foldersInFolder,
|
|
|
- Files = allFiles,
|
|
|
- FileById = fileById,
|
|
|
- FilesInFolder = filesInFolder,
|
|
|
+ //All = allEntries,
|
|
|
+ //AllById = allById,
|
|
|
+ //AllInFolder = allInFolder,
|
|
|
+ Folders = allFolders.ToArray(),
|
|
|
+ //FolderById = folderById,
|
|
|
+ //FoldersInFolder = foldersInFolder,
|
|
|
+ Files = allFiles.ToArray(),
|
|
|
+ //FileById = fileById,
|
|
|
+ //FilesInFolder = filesInFolder,
|
|
|
//add folderPathToIdCache on demands
|
|
|
};
|
|
|
}
|
|
@@ -118,15 +118,15 @@ public static class FolderScan
|
|
|
|
|
|
public class FolderScanResult
|
|
|
{
|
|
|
- public required IReadOnlyList<IFsEntry> All { get; init; }
|
|
|
- public required IReadOnlyDictionary<long, IFsEntry> AllById { get; init; }
|
|
|
- public required IReadOnlyDictionary<long, IReadOnlyList<IFsEntry>> AllInFolder { get; init; }
|
|
|
+ //public required IReadOnlyList<IFsEntry> All { get; init; }
|
|
|
+ //public required IReadOnlyDictionary<long, IFsEntry> AllById { get; init; }
|
|
|
+ //public required IReadOnlyDictionary<long, IReadOnlyList<IFsEntry>> AllInFolder { get; init; }
|
|
|
|
|
|
public required IReadOnlyList<FolderEntry> Folders { get; init; }
|
|
|
- public required IReadOnlyDictionary<long, FolderEntry> FolderById { get; init; }
|
|
|
- public required IReadOnlyDictionary<long, IReadOnlyList<FolderEntry>> FoldersInFolder { get; init; }
|
|
|
+ //public required IReadOnlyDictionary<long, FolderEntry> FolderById { get; init; }
|
|
|
+ //public required IReadOnlyDictionary<long, IReadOnlyList<FolderEntry>> FoldersInFolder { get; init; }
|
|
|
|
|
|
public required IReadOnlyList<FileEntry> Files { get; init; }
|
|
|
- public required IReadOnlyDictionary<long, FileEntry> FileById { get; init; }
|
|
|
- public required IReadOnlyDictionary<long, IReadOnlyList<FileEntry>> FilesInFolder { get; init; }
|
|
|
+ //public required IReadOnlyDictionary<long, FileEntry> FileById { get; init; }
|
|
|
+ //public required IReadOnlyDictionary<long, IReadOnlyList<FileEntry>> FilesInFolder { get; init; }
|
|
|
}
|