added-numbers-to-distinguish-has-ignore-keyword-and-has-date-time-original

moved-container-to-new-project-to-prepare-to-remove-property-file

added-logic-to-rename-to-3-and-7-like-should-ignore-for-missing-date-time-original
This commit is contained in:
2025-03-16 21:20:46 -07:00
parent d9d55d9e4c
commit d5fa108f81
41 changed files with 1246 additions and 730 deletions

View File

@ -13,17 +13,17 @@ namespace View_by_Distance.Map.Models.Stateless;
internal abstract class MapLogic
{
internal record Duplicate(long PersonKey,
int Id,
FilePath FilePath,
float? Percent);
internal record MappedFile(long PersonKey,
string PersonKeyFormatted,
string? PersonDisplayDirectoryName,
int? DirectoryNumber,
FilePath FilePath);
internal record Duplicate(long PersonKey,
int Id,
FilePath FilePath,
float? Percent);
internal record PersonKeyFormattedIdThenWholePercentages(string PersonKeyFormatted,
string? PersonDisplayDirectoryName,
bool? IsDefault,
@ -188,6 +188,7 @@ internal abstract class MapLogic
private static List<MappedFile> GetDisplayDirectoryAllFiles(string fileNameExtension, string personBirthdayFormat, ReadOnlyCollection<PersonContainer> personContainers)
{
List<MappedFile> results = [];
MappedFile mappedFile;
string personKeyFormatted;
List<string> distinct = [];
foreach (PersonContainer personContainer in personContainers)
@ -202,7 +203,12 @@ internal abstract class MapLogic
continue;
distinct.Add(personContainer.DisplayDirectoryAllFilePaths[i].Name);
personKeyFormatted = IPersonBirthday.GetFormatted(personBirthdayFormat, personContainer.Key.Value);
results.Add(new(personContainer.Key.Value, personKeyFormatted, personContainer.DisplayDirectoryName, null, personContainer.DisplayDirectoryAllFilePaths[i]));
mappedFile = new(PersonKey: personContainer.Key.Value,
PersonKeyFormatted: personKeyFormatted,
PersonDisplayDirectoryName: personContainer.DisplayDirectoryName,
DirectoryNumber: null,
FilePath: personContainer.DisplayDirectoryAllFilePaths[i]);
results.Add(mappedFile);
}
}
return results;
@ -462,6 +468,7 @@ internal abstract class MapLogic
string checkFile;
FilePath filePath;
FileHolder fileHolder;
MappedFile mappedFile;
List<string> distinct = [];
PersonBirthday? personBirthday;
PersonContainer? personContainer;
@ -481,7 +488,12 @@ internal abstract class MapLogic
personDisplayDirectoryName = record.PersonDisplayDirectoryName;
else
personDisplayDirectoryName = personContainer.DisplayDirectoryName;
results.Add(new(personKey, record.PersonKeyFormatted, personDisplayDirectoryName, record.DirectoryNumber, record.MappedFaceFilePath));
mappedFile = new(PersonKey: personKey,
PersonKeyFormatted: record.PersonKeyFormatted,
PersonDisplayDirectoryName: personDisplayDirectoryName,
DirectoryNumber: record.DirectoryNumber,
FilePath: record.MappedFaceFilePath);
results.Add(mappedFile);
}
for (int i = results.Count - 1; i > -1; i--)
{
@ -501,7 +513,11 @@ internal abstract class MapLogic
File.Move(filePath.FullName, checkFile);
fileHolder = IFileHolder.Get(checkFile);
filePath = FilePath.Get(propertyConfiguration, fileHolder, index: null);
results[i] = new(results[i].PersonKey, results[i].PersonKeyFormatted, results[i].PersonDisplayDirectoryName, results[i].DirectoryNumber, filePath);
results[i] = new(PersonKey: results[i].PersonKey,
PersonKeyFormatted: results[i].PersonKeyFormatted,
PersonDisplayDirectoryName: results[i].PersonDisplayDirectoryName,
DirectoryNumber: results[i].DirectoryNumber,
FilePath: filePath);
}
return results;
}
@ -791,6 +807,7 @@ internal abstract class MapLogic
int? wholePercentages;
List<int> wholePercentagesCollection;
Dictionary<int, List<int>> idToWholePercentagesCollection = [];
PersonKeyFormattedIdThenWholePercentages personKeyFormattedIdThenWholePercentages;
int totalSeconds = (int)Math.Floor(new TimeSpan(DateTime.Now.Ticks - ticks).TotalSeconds);
string message = $") {records.Count:000} join from ticks Director(ies) - C - {totalSeconds} total second(s)";
ProgressBarOptions options = new() { ProgressCharacter = '─', ProgressBarOnBottom = true, DisableBottomPercentage = true };
@ -808,7 +825,14 @@ internal abstract class MapLogic
wholePercentagesCollection = idToWholePercentagesCollection[record.MappedFaceFilePath.Id.Value];
wholePercentagesCollection.Add(wholePercentages.Value);
idToWholePercentagesCollection[record.MappedFaceFilePath.Id.Value].Add(wholePercentages.Value);
results.Add(new(record.PersonKeyFormatted, record.PersonDisplayDirectoryName, record.IsDefault, record.LinksCount, record.MappedFaceFilePath, record.MappedFaceFilePath.Id.Value, wholePercentages.Value));
personKeyFormattedIdThenWholePercentages = new(PersonKeyFormatted: record.PersonKeyFormatted,
PersonDisplayDirectoryName: record.PersonDisplayDirectoryName,
IsDefault: record.IsDefault,
LinksCount: record.LinksCount,
MappedFaceFilePath: record.MappedFaceFilePath,
Id: record.MappedFaceFilePath.Id.Value,
WholePercentages: wholePercentages.Value);
results.Add(personKeyFormattedIdThenWholePercentages);
}
return results.AsReadOnly();
}