This commit is contained in:
2023-12-26 18:27:37 -07:00
parent c2c711673f
commit ec22446643
37 changed files with 1279 additions and 932 deletions

View File

@ -8,14 +8,14 @@ namespace View_by_Distance.Map.Models.Stateless;
internal abstract class RelationLogic
{
internal record Group(string Key, long PersonKey, ReadOnlyCollection<LocationContainer<MetadataExtractor.Directory>> RelationContainersCollection);
internal record Group(string Key, long PersonKey, ReadOnlyCollection<LocationContainer> RelationContainersCollection);
private static Dictionary<long, Dictionary<int, List<LocationContainer<MetadataExtractor.Directory>>>> GetPersonKeyTo(Configuration configuration, List<LocationContainer<MetadataExtractor.Directory>> locationContainers)
private static Dictionary<long, Dictionary<int, List<LocationContainer>>> GetPersonKeyTo(Configuration configuration, List<LocationContainer> locationContainers)
{
List<LocationContainer<MetadataExtractor.Directory>>? collection;
Dictionary<int, List<LocationContainer<MetadataExtractor.Directory>>>? yearTo;
Dictionary<long, Dictionary<int, List<LocationContainer<MetadataExtractor.Directory>>>> personKeyTo = [];
foreach (LocationContainer<MetadataExtractor.Directory> locationContainer in locationContainers)
List<LocationContainer>? collection;
Dictionary<int, List<LocationContainer>>? yearTo;
Dictionary<long, Dictionary<int, List<LocationContainer>>> personKeyTo = [];
foreach (LocationContainer locationContainer in locationContainers)
{
if (!locationContainer.FromDistanceContent)
continue;
@ -38,7 +38,7 @@ internal abstract class RelationLogic
return personKeyTo;
}
private static ReadOnlyCollection<Group> GetGroups(Configuration configuration, List<LocationContainer<MetadataExtractor.Directory>> locationContainers)
private static ReadOnlyCollection<Group> GetGroups(Configuration configuration, List<LocationContainer> locationContainers)
{
List<Group> results = [];
string key;
@ -46,10 +46,10 @@ internal abstract class RelationLogic
List<int> years = [];
List<int> indices = [];
List<(int Index, int Year)> sort = [];
List<LocationContainer<MetadataExtractor.Directory>> collection = [];
KeyValuePair<int, List<LocationContainer<MetadataExtractor.Directory>>> keyValue;
Dictionary<long, Dictionary<int, List<LocationContainer<MetadataExtractor.Directory>>>> personKeyTo = GetPersonKeyTo(configuration, locationContainers);
foreach (KeyValuePair<long, Dictionary<int, List<LocationContainer<MetadataExtractor.Directory>>>> keyValuePair in personKeyTo)
List<LocationContainer> collection = [];
KeyValuePair<int, List<LocationContainer>> keyValue;
Dictionary<long, Dictionary<int, List<LocationContainer>>> personKeyTo = GetPersonKeyTo(configuration, locationContainers);
foreach (KeyValuePair<long, Dictionary<int, List<LocationContainer>>> keyValuePair in personKeyTo)
{
sort.Clear();
years.Clear();
@ -403,7 +403,7 @@ internal abstract class RelationLogic
}
}
internal static void SaveMappedRelations(Configuration configuration, Shared.Models.Methods.IDistance<MetadataExtractor.Directory> distance, string a2PeopleContentDirectory, string eDistanceContentDirectory, long ticks, List<LocationContainer<MetadataExtractor.Directory>> locationContainers, ReadOnlyDictionary<string, PersonContainer> readOnlyPersonKeyFormattedToPersonContainer, ReadOnlyDictionary<long, List<PersonContainer>> readOnlyPersonKeyToPersonContainerCollection)
internal static void SaveMappedRelations(Configuration configuration, Shared.Models.Methods.IDistance distance, string a2PeopleContentDirectory, string eDistanceContentDirectory, long ticks, List<LocationContainer> locationContainers, ReadOnlyDictionary<string, PersonContainer> readOnlyPersonKeyFormattedToPersonContainer, ReadOnlyDictionary<long, List<PersonContainer>> readOnlyPersonKeyToPersonContainerCollection)
{
int take;
string directory;