Using PersonContainer for PersonDisplayDirectoryName

This commit is contained in:
2024-12-29 11:38:24 -07:00
parent 1f8c4569ee
commit 17532d2698
4 changed files with 34 additions and 11 deletions

View File

@ -40,6 +40,18 @@ public record PersonContainer(int? ApproximateYears,
public static bool? IsKeyIsMaxBirthday(PersonContainer personContainer) =>
personContainer.Birthdays is null || personContainer.Key is null ? null : personContainer.Key.Value == personContainer.Birthdays.First().Value.Ticks;
public static ReadOnlyDictionary<long, PersonContainer> Extract(ReadOnlyCollection<PersonContainer> personContainers)
{
Dictionary<long, PersonContainer> results = [];
foreach (PersonContainer personContainer in personContainers)
{
if (personContainer.Key is null || results.ContainsKey(personContainer.Key.Value))
continue;
results.Add(personContainer.Key.Value, personContainer);
}
return results.AsReadOnly();
}
}
[JsonSourceGenerationOptions(WriteIndented = true, DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull)]

View File

@ -3,7 +3,9 @@ using System.Text.Json.Serialization;
namespace View_by_Distance.Shared.Models;
public record PersonKeyFormattedAndKeyTicksAndDisplayDirectoryName(string KeyFormatted, long KeyTicks, string? DisplayDirectoryName)
public record PersonKeyFormattedAndKeyTicksAndDisplayDirectoryName(string KeyFormatted,
long KeyTicks,
string? DisplayDirectoryName)
{
public override string ToString()