GetToDoCollection

This commit is contained in:
2023-07-04 09:04:22 -07:00
parent b331a4d015
commit 79f069445e
10 changed files with 296 additions and 251 deletions

View File

@ -158,20 +158,7 @@ internal abstract class Container
return results;
}
private static void CreateShell(Properties.IPropertyConfiguration propertyConfiguration, List<string> directories)
{
string checkDirectory;
int startIndex = propertyConfiguration.RootDirectory.Length;
foreach (string directory in directories)
{
checkDirectory = directory.Insert(startIndex, "-Shell");
if (Directory.Exists(checkDirectory))
continue;
_ = Directory.CreateDirectory(checkDirectory);
}
}
internal static (int, Models.Container[]) GetContainers(Properties.IPropertyConfiguration propertyConfiguration, string aPropertySingletonDirectory)
private static (int, Models.Container[]) GetContainers(Properties.IPropertyConfiguration propertyConfiguration, string aPropertySingletonDirectory, string directorySearchFilter, List<string[]> filesCollection)
{
List<Models.Container> results = new();
string? directory;
@ -179,10 +166,7 @@ internal abstract class Container
Models.Container container;
const string extension = ".json";
List<string> directories = new();
const string fileSearchFilter = "*";
const string directorySearchFilter = "*";
Dictionary<string, List<Models.Item>> directoryToItems = new();
List<string[]> filesCollection = IDirectory.GetFilesCollection(propertyConfiguration.RootDirectory, directorySearchFilter, fileSearchFilter);
foreach (string[] files in filesCollection)
{
if (!files.Any())
@ -199,7 +183,6 @@ internal abstract class Container
throw new Exception();
}
}
CreateShell(propertyConfiguration, directories);
List<Models.FilePair> filePairs = GetFilePairs(propertyConfiguration, directorySearchFilter, extension, aPropertySingletonDirectory, filesCollection);
List<FilePair> collection = GetFilePairs(propertyConfiguration, aPropertySingletonDirectory, extension, filePairs);
foreach (FilePair filePair in collection)
@ -224,6 +207,26 @@ internal abstract class Container
return (collection.Count, results.ToArray());
}
internal static (int, Models.Container[]) GetContainers(Properties.IPropertyConfiguration propertyConfiguration, string aPropertySingletonDirectory, List<string[]> filesCollection)
{
int count;
Models.Container[] results;
const string directorySearchFilter = "*";
(count, results) = GetContainers(propertyConfiguration, aPropertySingletonDirectory, directorySearchFilter, filesCollection);
return (count, results);
}
internal static (int, Models.Container[]) GetContainers(Properties.IPropertyConfiguration propertyConfiguration, string aPropertySingletonDirectory)
{
int count;
Models.Container[] results;
const string fileSearchFilter = "*";
const string directorySearchFilter = "*";
List<string[]> filesCollection = IDirectory.GetFilesCollection(propertyConfiguration.RootDirectory, directorySearchFilter, fileSearchFilter);
(count, results) = GetContainers(propertyConfiguration, aPropertySingletonDirectory, directorySearchFilter, filesCollection);
return (count, results);
}
internal static List<int> GetFilteredDistinctIds(Properties.IPropertyConfiguration propertyConfiguration, Models.Container[] containers)
{
List<int> results = new();