diff --git a/Shared/Models/Stateless/Methods/PersonContainer.cs b/Shared/Models/Stateless/Methods/PersonContainer.cs index 90cb2ef..94aa9c0 100644 --- a/Shared/Models/Stateless/Methods/PersonContainer.cs +++ b/Shared/Models/Stateless/Methods/PersonContainer.cs @@ -242,23 +242,26 @@ internal abstract class PersonContainer private static List GetPersonContainersInnerGroups(string mappingDefaultName, string personBirthdayFormat, string facesFileNameExtension, char[] personCharacters, Dictionary> individuals, string groupDirectory, string groupDirectoryName) { List results = new(); - char @char; string[] segments; const int zero = 0; string innerGroupDirectoryName; PersonDirectory personDirectory; string[] personDisplayDirectories; const char exclamationPoint = '!'; + char @char = groupDirectoryName[zero]; List collection; string[] innerGroupDirectories = Directory.GetDirectories(groupDirectory, "*", SearchOption.TopDirectoryOnly); - foreach (string innerGroupDirectory in innerGroupDirectories) + if (@char == exclamationPoint) { - @char = groupDirectoryName[zero]; - innerGroupDirectoryName = Path.GetFileName(innerGroupDirectory); - if (@char == exclamationPoint) - personDirectory = new(@char, innerGroupDirectoryName, 'U', 'U', 'U'); - else + personDirectory = new(@char, "Ignore", 'U', 'U', 'U'); + collection = GetPersonContainersGroup(mappingDefaultName, personBirthdayFormat, facesFileNameExtension, personCharacters, individuals, personDirectory, innerGroupDirectories); + results.AddRange(collection); + } + else + { + foreach (string innerGroupDirectory in innerGroupDirectories) { + innerGroupDirectoryName = Path.GetFileName(innerGroupDirectory); segments = innerGroupDirectoryName.Split('-'); if (segments.Length != 3) continue; @@ -269,10 +272,10 @@ internal abstract class PersonContainer if (segments[2] is not "Yes" and not "No" and not "Unknown") continue; personDirectory = new(@char, innerGroupDirectoryName, segments[zero][zero], segments[1][zero], segments[2][zero]); + personDisplayDirectories = Directory.GetDirectories(innerGroupDirectory, "*", SearchOption.TopDirectoryOnly); + collection = GetPersonContainersGroup(mappingDefaultName, personBirthdayFormat, facesFileNameExtension, personCharacters, individuals, personDirectory, personDisplayDirectories); + results.AddRange(collection); } - personDisplayDirectories = Directory.GetDirectories(innerGroupDirectory, "*", SearchOption.TopDirectoryOnly); - collection = GetPersonContainersGroup(mappingDefaultName, personBirthdayFormat, facesFileNameExtension, personCharacters, individuals, personDirectory, personDisplayDirectories); - results.AddRange(collection); } return results; }