... but by oldest person and distinct

This commit is contained in:
2022-10-02 16:20:10 -07:00
parent 331d42685a
commit a6168f5976
13 changed files with 102 additions and 176 deletions

View File

@ -5,10 +5,10 @@ public interface IPersonContainer
// ...
Models.PersonContainer[] TestStatic_GetPersonContainers(Properties.IStorage storage, string personBirthdayFormat, string[] verifyPersonKeyFormattedCollection, string facesFileNameExtension) =>
GetPersonContainers(storage, personBirthdayFormat, verifyPersonKeyFormattedCollection, facesFileNameExtension);
static Models.PersonContainer[] GetPersonContainers(Properties.IStorage storage, string personBirthdayFormat, string[] verifyPersonKeyFormattedCollection, string facesFileNameExtension) =>
PersonContainer.GetPersonContainers(storage, personBirthdayFormat, verifyPersonKeyFormattedCollection, facesFileNameExtension);
Models.PersonContainer[] TestStatic_GetPersonContainers(Properties.IStorage storage, string personBirthdayFormat, string facesFileNameExtension) =>
GetPersonContainers(storage, personBirthdayFormat, facesFileNameExtension);
static Models.PersonContainer[] GetPersonContainers(Properties.IStorage storage, string personBirthdayFormat, string facesFileNameExtension) =>
PersonContainer.GetPersonContainers(storage, personBirthdayFormat, facesFileNameExtension);
List<(long?, string)> TestStatic_GetDisplay(string personBirthdayFormat, Models.PersonContainer personContainer) =>
GetDisplay(personBirthdayFormat, personContainer);

View File

@ -155,28 +155,7 @@ internal abstract class PersonContainer
return results;
}
private static void Verify(string personBirthdayFormat, string[] verifyPersonKeyFormattedCollection, Models.PersonContainer[] results)
{
const int zero = 0;
string personKeyFormatted;
List<string> collection = new();
Models.PersonBirthday personBirthday;
foreach (Models.PersonContainer personContainer in results)
{
if (personContainer.Key is null || personContainer.Birthdays is null || !personContainer.Birthdays.Any())
continue;
personBirthday = personContainer.Birthdays[zero];
personKeyFormatted = IPersonBirthday.GetFormatted(personBirthdayFormat, personBirthday);
if (!verifyPersonKeyFormattedCollection.Contains(personKeyFormatted))
continue;
if (personContainer.DisplayDirectoryAllFiles.Any(l => !l.Contains('^')))
collection.Add(personContainer.DisplayDirectoryName);
}
if (collection.Any())
throw new NotSupportedException($"A person in the verify collection has a approximate birthday!{Environment.NewLine}{string.Join(Environment.NewLine, collection.ToArray())}");
}
internal static Models.PersonContainer[] GetPersonContainers(Properties.IStorage storage, string personBirthdayFormat, string[] verifyPersonKeyFormattedCollection, string facesFileNameExtension)
internal static Models.PersonContainer[] GetPersonContainers(Properties.IStorage storage, string personBirthdayFormat, string facesFileNameExtension)
{
Models.PersonContainer[] results;
char[] chars = IAge.GetChars();
@ -195,7 +174,6 @@ internal abstract class PersonContainer
results = Array.Empty<Models.PersonContainer>();
else
results = GetPersonContainersGroups(personBirthdayFormat, facesFileNameExtension, chars, groupDirectories);
Verify(personBirthdayFormat, verifyPersonKeyFormattedCollection, results);
return results;
}