diff --git a/Compare/Compare.csproj b/Compare/Compare.csproj index 57e0320..69bbfad 100644 --- a/Compare/Compare.csproj +++ b/Compare/Compare.csproj @@ -35,8 +35,8 @@ - - + + diff --git a/Date-Group/Date-Group.csproj b/Date-Group/Date-Group.csproj index 015da35..b4bccbc 100644 --- a/Date-Group/Date-Group.csproj +++ b/Date-Group/Date-Group.csproj @@ -34,9 +34,9 @@ - + - + diff --git a/Delete-By-Distinct/Delete-By-Distinct.csproj b/Delete-By-Distinct/Delete-By-Distinct.csproj index c022849..1ccc2e3 100644 --- a/Delete-By-Distinct/Delete-By-Distinct.csproj +++ b/Delete-By-Distinct/Delete-By-Distinct.csproj @@ -35,8 +35,8 @@ - - + + diff --git a/Delete-By-Relative/Delete-By-Relative.csproj b/Delete-By-Relative/Delete-By-Relative.csproj index 373532c..15a9d7d 100644 --- a/Delete-By-Relative/Delete-By-Relative.csproj +++ b/Delete-By-Relative/Delete-By-Relative.csproj @@ -35,8 +35,8 @@ - - + + diff --git a/Duplicate-Search/Duplicate-Search.csproj b/Duplicate-Search/Duplicate-Search.csproj index 513396b..4a76ce8 100644 --- a/Duplicate-Search/Duplicate-Search.csproj +++ b/Duplicate-Search/Duplicate-Search.csproj @@ -35,8 +35,8 @@ - - + + diff --git a/Instance/Instance.csproj b/Instance/Instance.csproj index 2c3217e..f83495a 100644 --- a/Instance/Instance.csproj +++ b/Instance/Instance.csproj @@ -34,9 +34,9 @@ - + - + diff --git a/Instance/Models/_F_Random.cs b/Instance/Models/_F_Random.cs index 9351862..d7a4dae 100644 --- a/Instance/Models/_F_Random.cs +++ b/Instance/Models/_F_Random.cs @@ -67,6 +67,7 @@ internal class F_Random List? collection; string dateFormat = "MM-dd"; List relativePaths = new(); + List distinctCollection = new(); DateTime dateTime = new(2024, 1, 1); //Leap year Dictionary> dayToRelativePaths = Get(personKeyToIds, mappingCollection, dateFormat); string fRandomCollectionDirectory = Property.Models.Stateless.IResult.GetResultsDateGroupDirectory(configuration, nameof(F_Random), "[]"); @@ -75,11 +76,14 @@ internal class F_Random File.Delete(file); foreach (Shared.Models.Mapping mapping in mappingCollection) { + if (distinctCollection.Contains(mapping.MappingFromItem.Id)) + continue; if (mapping.MappingFromItem.ImageFileHolder.DirectoryName is null) continue; if (mapping.MappingFromFilter.IsIgnoreRelativePath is not null && mapping.MappingFromFilter.IsIgnoreRelativePath.Value) continue; relativePaths.Add(mapping.MappingFromItem.RelativePath); + distinctCollection.Add(mapping.MappingFromItem.Id); } if (relativePaths.Any()) { diff --git a/Map/Models/MapLogic.cs b/Map/Models/MapLogic.cs index 6f3eb9b..5bb15dc 100644 --- a/Map/Models/MapLogic.cs +++ b/Map/Models/MapLogic.cs @@ -974,16 +974,21 @@ public class MapLogic : Shared.Models.Methods.IMapLogic if (_Configuration is null) throw new NullReferenceException(nameof(_Configuration)); (int, FileHolder, int, string, string, string, string)[] results; + int count = 0; + int group = 65; string checkFile; string directory; string? directoryName; string personDirectory; string personKeyFormatted; + List distinctCollection = new(); bool usePersonKeyAndDeterministicHashCodeKey = false; List personKeyFormattedCollection = GetPersonKeyFormattedCollection(jLinks, a2PeopleContentDirectory, personContainers, personKeyToIds); List<(int Id, FileHolder ImageFileHolder, int ApproximateYears, string PersonKeyFormatted, string CheckFile, string Directory, string PersonDirectory)> collection = new(); foreach (Mapping mapping in mappingCollection) { + if (distinctCollection.Contains(mapping.MappingFromItem.Id)) + continue; directoryName = Path.GetDirectoryName(mapping.MappingFromItem.RelativePath); if (directoryName is null) throw new NotSupportedException(); @@ -1002,7 +1007,12 @@ public class MapLogic : Shared.Models.Methods.IMapLogic continue; if (!usePersonKeyAndDeterministicHashCodeKey) { - directory = Path.Combine(_EDistanceContentTicksDirectory, "Images"); + if (count > 499) + { + count = 0; + group += 1; + } + directory = Path.Combine(_EDistanceContentTicksDirectory, ((char)group).ToString()); personDirectory = Path.Combine(directory, mapping.MappingFromPerson.DisplayDirectoryName); checkFile = Path.Combine(directory, $"{mapping.MappingFromItem.Id}{mapping.MappingFromItem.ImageFileHolder.ExtensionLowered}"); } @@ -1013,6 +1023,8 @@ public class MapLogic : Shared.Models.Methods.IMapLogic checkFile = Path.Combine(directory, $"{mapping.MappingFromLocation.DeterministicHashCodeKey}{mapping.MappingFromItem.ImageFileHolder.ExtensionLowered}"); } collection.Add(new(mapping.MappingFromItem.Id, mapping.MappingFromItem.ImageFileHolder, mapping.MappingFromPerson.ApproximateYears.Value, personKeyFormatted, directory, personDirectory, checkFile)); + distinctCollection.Add(mapping.MappingFromItem.Id); + count += 1; } results = (from l in collection orderby l.ApproximateYears descending, l.PersonKeyFormatted descending select l).ToArray(); return results; @@ -1074,15 +1086,11 @@ public class MapLogic : Shared.Models.Methods.IMapLogic if (_Configuration is null) throw new NullReferenceException(nameof(_Configuration)); SaveContainer? saveContainer; - List distinctCollection = new(); List saveContainers = new(); BeforeSaveFilteredOriginalImagesFromJLinks(jLinks, a2PeopleContentDirectory); (int, FileHolder, int, string, string, string, string)[] collection = GetCollectionForSaveFilteredOriginalImagesFromJLinks(jLinks, a2PeopleContentDirectory, personContainers, mappingCollection, personKeyToIds); foreach ((int id, FileHolder imageFileHolder, int approximateYears, string personKeyFormatted, string directory, string personDirectory, string checkFile) in collection) { - if (distinctCollection.Contains(id)) - continue; - distinctCollection.Add(id); saveContainer = new(personDirectory); saveContainers.Add(saveContainer); saveContainer = new(imageFileHolder, checkFile, directory); diff --git a/PrepareForOld/PrepareForOld.csproj b/PrepareForOld/PrepareForOld.csproj index 7623a4f..4b019fd 100644 --- a/PrepareForOld/PrepareForOld.csproj +++ b/PrepareForOld/PrepareForOld.csproj @@ -43,8 +43,8 @@ - - + +