Using PersonContainer for PersonDisplayDirectoryName

This commit is contained in:
2024-12-29 11:51:08 -07:00
parent 75cfb2a0d9
commit ee0219f321
4 changed files with 22 additions and 9 deletions

View File

@ -447,6 +447,9 @@ internal abstract class MapLogic
FileHolder fileHolder;
List<string> distinct = [];
PersonBirthday? personBirthday;
PersonContainer? personContainer;
string? personDisplayDirectoryName;
ReadOnlyDictionary<long, PersonContainer> keyValuePairs = PersonContainer.Extract(personContainers);
results.AddRange(GetDisplayDirectoryAllFiles(configuration.FacesFileNameExtension, configuration.PersonBirthdayFormat, personContainers));
foreach (Record record in records)
{
@ -455,9 +458,13 @@ internal abstract class MapLogic
continue;
if (distinct.Contains(record.MappedFaceFilePath.Name))
continue;
distinct.Add(record.MappedFaceFilePath.Name);
personKey = personBirthday.Value.Ticks;
results.Add(new(personKey, record.PersonKeyFormatted, record.PersonDisplayDirectoryName, record.DirectoryNumber, record.MappedFaceFilePath));
distinct.Add(record.MappedFaceFilePath.Name);
if (!keyValuePairs.TryGetValue(personKey, out personContainer))
personDisplayDirectoryName = record.PersonDisplayDirectoryName;
else
personDisplayDirectoryName = personContainer.DisplayDirectoryName;
results.Add(new(personKey, record.PersonKeyFormatted, personDisplayDirectoryName, record.DirectoryNumber, record.MappedFaceFilePath));
}
for (int i = results.Count - 1; i > -1; i--)
{