This commit is contained in:
2022-11-20 23:20:28 -07:00
parent c6aa7e8e3c
commit 3b988ba152
85 changed files with 1355 additions and 980 deletions

View File

@ -208,7 +208,10 @@ internal abstract class MapLogic
ticksDirectories = Array.Empty<string>();
else
{
_ = IPath.DeleteEmptyDirectories(eDistanceContentDirectory);
if (!Directory.Exists(eDistanceContentDirectory))
_ = Directory.CreateDirectory(eDistanceContentDirectory);
else
_ = IPath.DeleteEmptyDirectories(eDistanceContentDirectory);
ticksDirectories = Directory.GetDirectories(eDistanceContentDirectory, "*", SearchOption.TopDirectoryOnly);
}
string message = $") {ticksDirectories.Length:000} collect from and clean ticks Director(ies) - A - {totalSeconds} total second(s)";
@ -556,22 +559,28 @@ internal abstract class MapLogic
}
}
private static string? GetDisplayDirectoryName(Dictionary<long, PersonContainer> personKeyToPersonContainer, long key)
{
string? result = null;
if (personKeyToPersonContainer.TryGetValue(key, out PersonContainer? personContainer))
{
result = personContainer.DisplayDirectoryName;
if (string.IsNullOrEmpty(result))
throw new NotSupportedException();
}
return result;
}
private static void SetPersonKeyToPersonContainer(Configuration configuration, List<PersonContainer> personContainers, long[] personKeyCollection, Dictionary<long, PersonContainer> personKeyToPersonContainer)
{
string personDisplayDirectoryName;
string? displayDirectoryName;
foreach (PersonContainer personContainer in personContainers)
{
if (personContainer.Key is null || !personKeyCollection.Contains(personContainer.Key.Value))
continue;
if (personKeyToPersonContainer.ContainsKey(personContainer.Key.Value))
{
personDisplayDirectoryName = personKeyToPersonContainer[personContainer.Key.Value].DisplayDirectoryName;
if (string.IsNullOrEmpty(personDisplayDirectoryName))
throw new NotSupportedException();
if (personDisplayDirectoryName == personContainer.DisplayDirectoryName || (personDisplayDirectoryName[0] == personContainer.DisplayDirectoryName[0] && (personDisplayDirectoryName.Length == 1 || personContainer.DisplayDirectoryName.Length == 1)))
continue;
throw new NotImplementedException();
}
displayDirectoryName = GetDisplayDirectoryName(personKeyToPersonContainer, personContainer.Key.Value);
if (displayDirectoryName is not null && (displayDirectoryName == personContainer.DisplayDirectoryName || (displayDirectoryName[0] == personContainer.DisplayDirectoryName[0] && (displayDirectoryName.Length == 1 || personContainer.DisplayDirectoryName.Length == 1))))
continue;
personKeyToPersonContainer.Add(personContainer.Key.Value, personContainer);
}
if (personKeyCollection.Any())
@ -579,7 +588,7 @@ internal abstract class MapLogic
int? approximateYears = null;
PersonBirthday? personBirthday;
PersonContainer? personContainer;
string displayDirectoryName = configuration.MappingDefaultName;
displayDirectoryName = configuration.MappingDefaultName;
foreach (long personKey in personKeyCollection)
{
if (personKeyToPersonContainer.ContainsKey(personKey))