Save Possibly New Person Containers

This commit is contained in:
2022-09-19 13:52:01 -07:00
parent 8b2cbf7e16
commit 5fb99aac45
27 changed files with 423 additions and 218 deletions

View File

@ -3,7 +3,7 @@ using System.Text.Json.Serialization;
namespace View_by_Distance.Property.Models;
public class Configuration
public class Configuration : Shared.Models.Properties.IPropertyConfiguration
{
protected string _RootDirectory;

View File

@ -5,36 +5,36 @@ namespace View_by_Distance.Property.Models.Stateless;
public interface IResult
{
string TestStatic_GetRelativePath(Configuration configuration, string path);
static string GetRelativePath(Configuration configuration, string path)
=> Result.GetRelativePath(configuration, path);
string TestStatic_GetRelativePath(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, string path);
static string GetRelativePath(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, string path)
=> Result.GetRelativePath(propertyConfiguration, path);
string TestStatic_GetResultsGroupDirectory(Configuration configuration, string description, bool create);
static string GetResultsGroupDirectory(Configuration configuration, string description, bool create)
=> Result.GetResultsGroupDirectory(configuration, description, create);
string TestStatic_GetResultsGroupDirectory(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, string description, bool create);
static string GetResultsGroupDirectory(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, string description, bool create)
=> Result.GetResultsGroupDirectory(propertyConfiguration, description, create);
string TestStatic_GetResultsGroupDirectory(Configuration configuration, string description);
static string GetResultsGroupDirectory(Configuration configuration, string description)
=> Result.GetResultsGroupDirectory(configuration, description, create: true);
string TestStatic_GetResultsGroupDirectory(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, string description);
static string GetResultsGroupDirectory(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, string description)
=> Result.GetResultsGroupDirectory(propertyConfiguration, description, create: true);
string TestStatic_GetResultsDateGroupDirectory(Configuration configuration, string description);
static string GetResultsDateGroupDirectory(Configuration configuration, string description)
=> Result.GetResultsDateGroupDirectory(configuration, description);
string TestStatic_GetResultsDateGroupDirectory(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, string description);
static string GetResultsDateGroupDirectory(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, string description)
=> Result.GetResultsDateGroupDirectory(propertyConfiguration, description);
string TestStatic_GetResultsDateGroupDirectory(Configuration configuration, string description, string jsonGroup);
static string GetResultsDateGroupDirectory(Configuration configuration, string description, string jsonGroup)
=> Result.GetResultsDateGroupDirectory(configuration, description, jsonGroup);
string TestStatic_GetResultsDateGroupDirectory(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, string description, string jsonGroup);
static string GetResultsDateGroupDirectory(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, string description, string jsonGroup)
=> Result.GetResultsDateGroupDirectory(propertyConfiguration, description, jsonGroup);
List<string> TestStatic_GetDirectoryInfoCollection(Configuration configuration, string sourceDirectory, string dateGroupDirectory, string contentDescription, string singletonDescription, string collectionDescription);
static List<string> GetDirectoryInfoCollection(Configuration configuration, string sourceDirectory, string dateGroupDirectory, string contentDescription, string singletonDescription, string collectionDescription, bool converted)
=> Result.GetDirectoryInfoCollection(configuration, sourceDirectory, dateGroupDirectory, contentDescription, singletonDescription, collectionDescription, converted);
List<string> TestStatic_GetDirectoryInfoCollection(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, string sourceDirectory, string dateGroupDirectory, string contentDescription, string singletonDescription, string collectionDescription);
static List<string> GetDirectoryInfoCollection(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, string sourceDirectory, string dateGroupDirectory, string contentDescription, string singletonDescription, string collectionDescription, bool converted)
=> Result.GetDirectoryInfoCollection(propertyConfiguration, sourceDirectory, dateGroupDirectory, contentDescription, singletonDescription, collectionDescription, converted);
string TestStatic_GetResultsFullGroupDirectory(Configuration configuration, Model? model, PredictorModel? predictorModel, string description, string outputResolution, bool includeResizeGroup, bool includeModel, bool includePredictorModel);
static string GetResultsFullGroupDirectory(Configuration configuration, Model? model, PredictorModel? predictorModel, string description, string outputResolution, bool includeResizeGroup, bool includeModel, bool includePredictorModel)
=> Result.GetResultsFullGroupDirectory(configuration, model, predictorModel, description, outputResolution, includeResizeGroup, includeModel, includePredictorModel);
string TestStatic_GetResultsFullGroupDirectory(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, Model? model, PredictorModel? predictorModel, string description, string outputResolution, bool includeResizeGroup, bool includeModel, bool includePredictorModel);
static string GetResultsFullGroupDirectory(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, Model? model, PredictorModel? predictorModel, string description, string outputResolution, bool includeResizeGroup, bool includeModel, bool includePredictorModel)
=> Result.GetResultsFullGroupDirectory(propertyConfiguration, model, predictorModel, description, outputResolution, includeResizeGroup, includeModel, includePredictorModel);
List<string> TestStatic_GetDirectoryInfoCollection(Configuration configuration, Model? model, PredictorModel? predictorModel, string sourceDirectory, string description, string outputResolution, bool includeResizeGroup, bool includeModel, bool includePredictorModel, string contentDescription, string singletonDescription, string collectionDescription);
static List<string> GetDirectoryInfoCollection(Configuration configuration, Model? model, PredictorModel? predictorModel, string sourceDirectory, string description, string outputResolution, bool includeResizeGroup, bool includeModel, bool includePredictorModel, string contentDescription, string singletonDescription, string collectionDescription)
=> Result.GetDirectoryInfoCollection(configuration, model, predictorModel, sourceDirectory, description, outputResolution, includeResizeGroup, includeModel, includePredictorModel, contentDescription, singletonDescription, collectionDescription);
List<string> TestStatic_GetDirectoryInfoCollection(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, Model? model, PredictorModel? predictorModel, string sourceDirectory, string description, string outputResolution, bool includeResizeGroup, bool includeModel, bool includePredictorModel, string contentDescription, string singletonDescription, string collectionDescription);
static List<string> GetDirectoryInfoCollection(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, Model? model, PredictorModel? predictorModel, string sourceDirectory, string description, string outputResolution, bool includeResizeGroup, bool includeModel, bool includePredictorModel, string contentDescription, string singletonDescription, string collectionDescription)
=> Result.GetDirectoryInfoCollection(propertyConfiguration, model, predictorModel, sourceDirectory, description, outputResolution, includeResizeGroup, includeModel, includePredictorModel, contentDescription, singletonDescription, collectionDescription);
}

View File

@ -5,39 +5,39 @@ namespace View_by_Distance.Property.Models.Stateless;
internal class Result
{
internal static string GetRelativePath(Configuration configuration, string path)
internal static string GetRelativePath(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, string path)
{
string result = Shared.Models.Stateless.Methods.IPath.GetRelativePath(path, configuration.RootDirectory.Length);
string result = Shared.Models.Stateless.Methods.IPath.GetRelativePath(path, propertyConfiguration.RootDirectory.Length);
return result;
}
internal static string GetResultsGroupDirectory(Configuration configuration, string description, bool create)
internal static string GetResultsGroupDirectory(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, string description, bool create)
{
string result = Path.Combine($"{configuration.RootDirectory} - Results", description.Replace("_", ") "));
string result = Path.Combine($"{propertyConfiguration.RootDirectory} - Results", description.Replace("_", ") "));
if (create && !Directory.Exists(result))
_ = Directory.CreateDirectory(result);
return result;
}
internal static string GetResultsDateGroupDirectory(Configuration configuration, string description)
internal static string GetResultsDateGroupDirectory(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, string description)
{
string result = Path.Combine(GetResultsGroupDirectory(configuration, description, create: true), configuration.DateGroup);
string result = Path.Combine(GetResultsGroupDirectory(propertyConfiguration, description, create: true), propertyConfiguration.DateGroup);
if (!Directory.Exists(result))
_ = Directory.CreateDirectory(result);
return result;
}
internal static string GetResultsDateGroupDirectory(Configuration configuration, string description, string jsonGroup)
internal static string GetResultsDateGroupDirectory(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, string description, string jsonGroup)
{
string result = Path.Combine(GetResultsDateGroupDirectory(configuration, description), jsonGroup);
string result = Path.Combine(GetResultsDateGroupDirectory(propertyConfiguration, description), jsonGroup);
if (!Directory.Exists(result))
_ = Directory.CreateDirectory(result);
return result;
}
internal static string GetResultsFullGroupDirectory(Configuration configuration, Model? model, PredictorModel? predictorModel, string description, string outputResolution, bool includeResizeGroup, bool includeModel, bool includePredictorModel)
internal static string GetResultsFullGroupDirectory(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, Model? model, PredictorModel? predictorModel, string description, string outputResolution, bool includeResizeGroup, bool includeModel, bool includePredictorModel)
{
string result = GetResultsDateGroupDirectory(configuration, description);
string result = GetResultsDateGroupDirectory(propertyConfiguration, description);
if (includeResizeGroup)
result = Path.Combine(result, outputResolution);
if (includeModel && includePredictorModel)
@ -64,13 +64,13 @@ internal class Result
return result;
}
private static void CheckContent(Configuration configuration, string dateGroupDirectory, string contentDescription, string result)
private static void CheckContent(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, string dateGroupDirectory, string contentDescription, string result)
{
string checkDirectory;
checkDirectory = Path.Combine(dateGroupDirectory, configuration.ResultContent, configuration.ResultAllInOne);
checkDirectory = Path.Combine(dateGroupDirectory, propertyConfiguration.ResultContent, propertyConfiguration.ResultAllInOne);
if (!Directory.Exists(checkDirectory))
_ = Directory.CreateDirectory(checkDirectory);
string contentDirectory = new(result.Replace("<>", configuration.ResultContent));
string contentDirectory = new(result.Replace("<>", propertyConfiguration.ResultContent));
if (!Directory.Exists(contentDirectory))
_ = Directory.CreateDirectory(contentDirectory);
checkDirectory = Path.Combine(dateGroupDirectory, string.Concat("() - ", contentDescription));
@ -78,15 +78,15 @@ internal class Result
_ = Directory.CreateDirectory(checkDirectory);
}
private static void CheckSingleton(Configuration configuration, string dateGroupDirectory, string singletonDescription, bool converted, string result)
private static void CheckSingleton(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, string dateGroupDirectory, string singletonDescription, bool converted, string result)
{
string checkDirectory;
checkDirectory = Path.Combine(dateGroupDirectory, configuration.ResultSingleton, configuration.ResultAllInOne);
checkDirectory = Path.Combine(dateGroupDirectory, propertyConfiguration.ResultSingleton, propertyConfiguration.ResultAllInOne);
if (!Directory.Exists(checkDirectory))
_ = Directory.CreateDirectory(checkDirectory);
if (!converted)
{
string singletonDirectory = new(result.Replace("<>", configuration.ResultSingleton));
string singletonDirectory = new(result.Replace("<>", propertyConfiguration.ResultSingleton));
if (!Directory.Exists(singletonDirectory))
_ = Directory.CreateDirectory(singletonDirectory);
}
@ -95,14 +95,14 @@ internal class Result
_ = Directory.CreateDirectory(checkDirectory);
}
private static void CheckCollection(Configuration configuration, string dateGroupDirectory, string collectionDescription, bool converted, string result)
private static void CheckCollection(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, string dateGroupDirectory, string collectionDescription, bool converted, string result)
{
string checkDirectory = Path.Combine(dateGroupDirectory, configuration.ResultCollection, configuration.ResultAllInOne);
string checkDirectory = Path.Combine(dateGroupDirectory, propertyConfiguration.ResultCollection, propertyConfiguration.ResultAllInOne);
if (!Directory.Exists(checkDirectory))
_ = Directory.CreateDirectory(checkDirectory);
if (!converted)
{
string collectionDirectory = new(result.Replace("<>", configuration.ResultCollection));
string collectionDirectory = new(result.Replace("<>", propertyConfiguration.ResultCollection));
if (!Directory.Exists(collectionDirectory))
_ = Directory.CreateDirectory(collectionDirectory);
}
@ -111,27 +111,27 @@ internal class Result
_ = Directory.CreateDirectory(checkDirectory);
}
internal static List<string> GetDirectoryInfoCollection(Configuration configuration, string sourceDirectory, string dateGroupDirectory, string contentDescription, string singletonDescription, string collectionDescription, bool converted)
internal static List<string> GetDirectoryInfoCollection(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, string sourceDirectory, string dateGroupDirectory, string contentDescription, string singletonDescription, string collectionDescription, bool converted)
{
List<string> results = new();
string sourceDirectorySegment = GetRelativePath(configuration, sourceDirectory);
string sourceDirectorySegment = GetRelativePath(propertyConfiguration, sourceDirectory);
string result = string.Concat(Path.Combine(dateGroupDirectory, "<>"), sourceDirectorySegment);
if (!string.IsNullOrEmpty(contentDescription))
CheckContent(configuration, dateGroupDirectory, contentDescription, result);
CheckContent(propertyConfiguration, dateGroupDirectory, contentDescription, result);
if (!string.IsNullOrEmpty(singletonDescription))
CheckSingleton(configuration, dateGroupDirectory, singletonDescription, converted, result);
CheckSingleton(propertyConfiguration, dateGroupDirectory, singletonDescription, converted, result);
if (!string.IsNullOrEmpty(collectionDescription))
CheckCollection(configuration, dateGroupDirectory, collectionDescription, converted, result);
CheckCollection(propertyConfiguration, dateGroupDirectory, collectionDescription, converted, result);
results.Add(result);
return results;
}
internal static List<string> GetDirectoryInfoCollection(Configuration configuration, Model? model, PredictorModel? predictorModel, string sourceDirectory, string description, string outputResolution, bool includeResizeGroup, bool includeModel, bool includePredictorModel, string contentDescription, string singletonDescription, string collectionDescription)
internal static List<string> GetDirectoryInfoCollection(Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, Model? model, PredictorModel? predictorModel, string sourceDirectory, string description, string outputResolution, bool includeResizeGroup, bool includeModel, bool includePredictorModel, string contentDescription, string singletonDescription, string collectionDescription)
{
List<string> results;
bool converted = false;
string dateGroupDirectory = GetResultsFullGroupDirectory(configuration, model, predictorModel, description, outputResolution, includeResizeGroup, includeModel, includePredictorModel);
results = GetDirectoryInfoCollection(configuration, sourceDirectory, dateGroupDirectory, contentDescription, singletonDescription, collectionDescription, converted);
string dateGroupDirectory = GetResultsFullGroupDirectory(propertyConfiguration, model, predictorModel, description, outputResolution, includeResizeGroup, includeModel, includePredictorModel);
results = GetDirectoryInfoCollection(propertyConfiguration, sourceDirectory, dateGroupDirectory, contentDescription, singletonDescription, collectionDescription, converted);
return results;
}