Fix random logic

This commit is contained in:
2023-08-12 08:30:08 -07:00
parent b3da09c757
commit 2f5d309ed1
10 changed files with 68 additions and 45 deletions

View File

@ -149,7 +149,7 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
return new(results);
}
public Dictionary<long, List<int>> GetPersonKeyToIds()
public ReadOnlyDictionary<long, List<int>> GetPersonKeyToIds()
{
Dictionary<long, List<int>> results = new();
long personKey;
@ -158,7 +158,9 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
PersonBirthday personBirthday;
List<string> shouldMove = new();
foreach (KeyValuePair<int, ReadOnlyDictionary<int, ReadOnlyCollection<PersonContainer>>> idToCollection in _IdThenWholePercentagesToPersonContainers)
{
foreach (KeyValuePair<int, ReadOnlyCollection<PersonContainer>> wholePercentagesToPersonContainers in idToCollection.Value)
{
foreach (PersonContainer personContainer in wholePercentagesToPersonContainers.Value)
{
if (personContainer.Key is null || personContainer.Birthdays is null || personContainer.Birthdays.Length == 0)
@ -177,9 +179,11 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
continue;
collection.Add(idToCollection.Key);
}
}
}
if (shouldMove.Count > 0)
throw new Exception(string.Join(Environment.NewLine, shouldMove));
return results;
return new(results);
}
(bool, ReadOnlyDictionary<int, ReadOnlyCollection<PersonContainer>>?) Shared.Models.Methods.IMapLogic.GetWholePercentagesToPersonContainers(int id)
@ -759,7 +763,7 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
return new(personKeyFormatted, personBirthday);
}
private List<string> GetPersonKeyFormattedCollection(string[] jLinks, string a2PeopleContentDirectory, ReadOnlyCollection<PersonContainer> personContainers, Dictionary<long, List<int>> personKeyToIds)
private List<string> GetPersonKeyFormattedCollection(string[] jLinks, string a2PeopleContentDirectory, ReadOnlyCollection<PersonContainer> personContainers, ReadOnlyDictionary<long, List<int>> personKeyToIds)
{
if (_Configuration is null)
throw new NullReferenceException(nameof(_Configuration));
@ -817,7 +821,7 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
return results;
}
private (int, FileHolder, int, string, string, string, string)[] GetCollectionForSaveFilteredOriginalImagesFromJLinks(string[] jLinks, string a2PeopleContentDirectory, ReadOnlyCollection<PersonContainer> personContainers, ReadOnlyCollection<Mapping> mappingCollection, Dictionary<long, List<int>> personKeyToIds)
private (int, FileHolder, int, string, string, string, string)[] GetCollectionForSaveFilteredOriginalImagesFromJLinks(string[] jLinks, string a2PeopleContentDirectory, ReadOnlyCollection<PersonContainer> personContainers, ReadOnlyCollection<Mapping> mappingCollection, ReadOnlyDictionary<long, List<int>> personKeyToIds)
{
if (_Configuration is null)
throw new NullReferenceException(nameof(_Configuration));
@ -878,7 +882,7 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
return results;
}
public void SaveFilteredOriginalImagesFromJLinks(string[] jLinks, ReadOnlyCollection<PersonContainer> personContainers, string a2PeopleContentDirectory, Dictionary<long, List<int>> personKeyToIds, ReadOnlyCollection<Mapping> mappingCollection)
public void SaveFilteredOriginalImagesFromJLinks(string[] jLinks, ReadOnlyCollection<PersonContainer> personContainers, string a2PeopleContentDirectory, ReadOnlyDictionary<long, List<int>> personKeyToIds, ReadOnlyCollection<Mapping> mappingCollection)
{
if (_Configuration is null)
throw new NullReferenceException(nameof(_Configuration));
@ -896,7 +900,7 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
SaveContainers(saveIndividually, null, saveContainers);
}
private List<SaveShortcutsForOutputResolutions> GetCollectionForSaveShortcutsForOutputResolutionsPreMapLogic(string eDistanceContentDirectory, Dictionary<long, List<int>> personKeyToIds, ReadOnlyCollection<Mapping> mappingCollection)
private List<SaveShortcutsForOutputResolutions> GetCollectionForSaveShortcutsForOutputResolutionsPreMapLogic(string eDistanceContentDirectory, ReadOnlyDictionary<long, List<int>> personKeyToIds, ReadOnlyCollection<Mapping> mappingCollection)
{
List<SaveShortcutsForOutputResolutions> results = new();
if (_Configuration is null)
@ -912,7 +916,7 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
List<long>? personKeys;
string personKeyFormatted;
Calendar calendar = new CultureInfo("en-US").Calendar;
Dictionary<int, List<long>> idToPersonKeys = Stateless.Methods.IMapLogic.GetIdToPersonKeys(personKeyToIds);
ReadOnlyDictionary<int, List<long>> idToPersonKeys = Stateless.Methods.IMapLogic.GetIdToPersonKeys(personKeyToIds);
foreach (Mapping mapping in mappingCollection)
{
dateTime = mapping.MappingFromItem.GetDateTimeOriginalThenMinimumDateTime();
@ -952,7 +956,7 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
return results;
}
public void SaveShortcutsForOutputResolutionsPreMapLogic(string eDistanceContentDirectory, Dictionary<long, List<int>> personKeyToIds, ReadOnlyCollection<Mapping> mappingCollection)
public void SaveShortcutsForOutputResolutionsPreMapLogic(string eDistanceContentDirectory, ReadOnlyDictionary<long, List<int>> personKeyToIds, ReadOnlyCollection<Mapping> mappingCollection)
{
string hiddenFile;
WindowsShortcut windowsShortcut;