Re-write
This commit is contained in:
@ -3,38 +3,54 @@ namespace View_by_Distance.Shared.Models.Stateless.Methods;
|
||||
internal abstract class FileSystem
|
||||
{ // ...
|
||||
|
||||
private static void SetFileSystemCollection(string requestPath, (string RootResultsDirectoryAbsoluteUri, string C_ResizeContentDirectory, string D_FacesContentDirectory, string E_DistanceCollectionDirectory) tuple, bool all, List<Models.FileSystem> results, IEnumerator<string> subDirectoryFiles, List<Models.FaceFileSystem> faceFileSystemCollection)
|
||||
{
|
||||
Models.Face face;
|
||||
Models.FaceFileSystem faceFileSystem;
|
||||
face = Face.GetFace(subDirectoryFiles.Current);
|
||||
faceFileSystem = new Models.FaceFileSystem(requestPath, tuple.RootResultsDirectoryAbsoluteUri.Length, tuple.C_ResizeContentDirectory, tuple.D_FacesContentDirectory, subDirectoryFiles.Current, face);
|
||||
if (!all)
|
||||
results.Add(faceFileSystem);
|
||||
else
|
||||
faceFileSystemCollection.Add(faceFileSystem);
|
||||
}
|
||||
|
||||
private static void LoopFileSystemCollection(string requestPath, (string RootResultsDirectoryAbsoluteUri, string C_ResizeContentDirectory, string D_FacesContentDirectory, string E_DistanceCollectionDirectory) tuple, bool all, List<Models.FileSystem> results, IEnumerator<string> subDirectoryFiles, List<Models.FaceFileSystem> faceFileSystemCollection)
|
||||
{
|
||||
for (int j = 0; j < int.MaxValue; j++)
|
||||
{
|
||||
SetFileSystemCollection(requestPath, tuple, all, results, subDirectoryFiles, faceFileSystemCollection);
|
||||
if (!all || !subDirectoryFiles.MoveNext())
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private static void SetFileSystemCollection(string[] directories, List<Models.FileSystem> results, int i)
|
||||
{
|
||||
DirectoryInfo directoryInfo = new(directories[i]);
|
||||
Models.FileSystem fileSystem = new DirectoryFileSystem(directoryInfo);
|
||||
results.Add(fileSystem);
|
||||
}
|
||||
|
||||
private static void LoopFileSystemCollection(string requestPath, (string RootResultsDirectoryAbsoluteUri, string C_ResizeContentDirectory, string D_FacesContentDirectory, string E_DistanceCollectionDirectory) tuple, string[] directories, bool all, List<Models.FileSystem> results, IEnumerator<string> subDirectoryFiles, List<Models.FaceFileSystem> faceFileSystemCollection, int i)
|
||||
{
|
||||
if (subDirectoryFiles.MoveNext())
|
||||
LoopFileSystemCollection(requestPath, tuple, all, results, subDirectoryFiles, faceFileSystemCollection);
|
||||
else
|
||||
SetFileSystemCollection(directories, results, i);
|
||||
}
|
||||
|
||||
internal static List<Models.FileSystem> GetFileSystemCollection(string requestPath, (string RootResultsDirectoryAbsoluteUri, string C_ResizeContentDirectory, string D_FacesContentDirectory, string E_DistanceCollectionDirectory) tuple, string[] directories, string[] files, bool all)
|
||||
{
|
||||
List<Models.FileSystem> results = new();
|
||||
Models.Face face;
|
||||
DirectoryInfo directoryInfo;
|
||||
Models.FileSystem fileSystem;
|
||||
Models.FaceFileSystem faceFileSystem;
|
||||
IEnumerator<string> subDirectoryFiles;
|
||||
List<Models.FaceFileSystem> faceFileSystemCollection = new();
|
||||
for (int i = 0; i < directories.Length; i++)
|
||||
{
|
||||
subDirectoryFiles = Directory.EnumerateFiles(directories[i], "*.json", SearchOption.TopDirectoryOnly).GetEnumerator();
|
||||
if (!subDirectoryFiles.MoveNext())
|
||||
{
|
||||
directoryInfo = new(directories[i]);
|
||||
fileSystem = new DirectoryFileSystem(directoryInfo);
|
||||
results.Add(fileSystem);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int j = 0; j < int.MaxValue; j++)
|
||||
{
|
||||
face = Face.GetFace(subDirectoryFiles.Current);
|
||||
faceFileSystem = new Models.FaceFileSystem(requestPath, tuple.RootResultsDirectoryAbsoluteUri.Length, tuple.C_ResizeContentDirectory, tuple.D_FacesContentDirectory, subDirectoryFiles.Current, face);
|
||||
if (!all)
|
||||
results.Add(faceFileSystem);
|
||||
else
|
||||
faceFileSystemCollection.Add(faceFileSystem);
|
||||
if (!all || !subDirectoryFiles.MoveNext())
|
||||
break;
|
||||
}
|
||||
}
|
||||
LoopFileSystemCollection(requestPath, tuple, directories, all, results, subDirectoryFiles, faceFileSystemCollection, i);
|
||||
}
|
||||
for (int i = 0; i < files.Length; i++)
|
||||
{
|
||||
|
Reference in New Issue
Block a user