More Individually and bug fix
This commit is contained in:
@ -178,11 +178,11 @@ public class Mapping : Properties.IMapping
|
||||
return result;
|
||||
}
|
||||
|
||||
public void UpdateMappingFromUnknownPerson(SortingContainer sortingContainer)
|
||||
public void UpdateMappingFromUnknownPerson(bool saveIndividually, SortingContainer sortingContainer)
|
||||
{
|
||||
_By = Stateless.IMapLogic.Sorting;
|
||||
_SortingContainer = sortingContainer;
|
||||
_SegmentC = sortingContainer.Sorting.DistancePermyriad.ToString();
|
||||
_SegmentC = !saveIndividually ? null : sortingContainer.Sorting.DistancePermyriad.ToString();
|
||||
}
|
||||
|
||||
public void UpdateMappingFromPerson(int? approximateYears, string displayDirectoryName, PersonBirthday personBirthday, string segmentB)
|
||||
|
@ -3,7 +3,7 @@ namespace View_by_Distance.Shared.Models.Stateless.Methods;
|
||||
internal abstract class PersonContainer
|
||||
{
|
||||
|
||||
private static string[] GetFiles(string personDisplayDirectory, bool includeRoot)
|
||||
private static string[] GetFiles(string personDisplayDirectory, bool isDefaultName)
|
||||
{
|
||||
List<string> results = new();
|
||||
string[] files;
|
||||
@ -14,8 +14,6 @@ internal abstract class PersonContainer
|
||||
string fileNameWithoutExtension;
|
||||
string personDisplayDirectoryName = Path.GetFileName(personDisplayDirectory);
|
||||
string[] directories = Directory.GetDirectories(personDisplayDirectory, "*", SearchOption.TopDirectoryOnly);
|
||||
if (includeRoot)
|
||||
results.AddRange(Directory.GetFiles(personDisplayDirectory, "*", SearchOption.TopDirectoryOnly));
|
||||
foreach (string directory in directories)
|
||||
{
|
||||
directoryName = Path.GetFileName(directory);
|
||||
@ -37,7 +35,7 @@ internal abstract class PersonContainer
|
||||
throw new NotSupportedException($"Move / Delete <{file}>");
|
||||
distinct.Add(file);
|
||||
}
|
||||
else if (fileNameWithoutExtension != directoryName)
|
||||
else if (fileNameWithoutExtension != directoryName && !isDefaultName)
|
||||
{
|
||||
checkFile = Path.Combine(directory, $"{fileNameWithoutExtension}{extension}");
|
||||
if (!File.Exists(checkFile))
|
||||
@ -60,7 +58,7 @@ internal abstract class PersonContainer
|
||||
return results.ToArray();
|
||||
}
|
||||
|
||||
private static string[] GetFiles(string facesFileNameExtension, string personDisplayDirectory, bool includeRoot)
|
||||
private static string[] GetFiles(string facesFileNameExtension, string personDisplayDirectory, bool isDefaultName)
|
||||
{
|
||||
string[] results;
|
||||
int? id;
|
||||
@ -87,18 +85,17 @@ internal abstract class PersonContainer
|
||||
else
|
||||
File.Move(file, checkFile);
|
||||
}
|
||||
results = GetFiles(personDisplayDirectory, includeRoot);
|
||||
results = GetFiles(personDisplayDirectory, isDefaultName);
|
||||
return results;
|
||||
}
|
||||
|
||||
private static List<Models.PersonContainer> GetPersonContainersCollections(string mappingDefaultName, string personBirthdayFormat, string facesFileNameExtension, char[] personCharacters, Dictionary<string, List<string>> individuals, char @char, char numberSign, string personDisplayDirectory, string personDisplayDirectoryName, int? approximateYears, List<(string PersonKeyFormatted, Models.PersonBirthday PersonBirthday)> collection)
|
||||
private static List<Models.PersonContainer> GetPersonContainersCollections(string mappingDefaultName, string personBirthdayFormat, string facesFileNameExtension, char[] personCharacters, Dictionary<string, List<string>> individuals, char @char, char numberSign, string personDisplayDirectory, string personDisplayDirectoryName, bool isDefaultName, int? approximateYears, List<(string PersonKeyFormatted, Models.PersonBirthday PersonBirthday)> collection)
|
||||
{
|
||||
List<Models.PersonContainer> results = new();
|
||||
long personKey;
|
||||
string[] matches;
|
||||
string? directory;
|
||||
const int zero = 0;
|
||||
bool isDefaultName;
|
||||
bool verify = true;
|
||||
Models.Person person;
|
||||
List<string>? individualsLines = null;
|
||||
@ -106,7 +103,7 @@ internal abstract class PersonContainer
|
||||
Models.PersonBirthday[] orderedPersonBirthdays;
|
||||
Models.GenealogicalDataCommunication? genealogicalDataCommunication;
|
||||
GenealogicalDataCommunicationLines? genealogicalDataCommunicationLines;
|
||||
string[] personDisplayDirectoryAllFiles = GetFiles(facesFileNameExtension, personDisplayDirectory, includeRoot: false);
|
||||
string[] personDisplayDirectoryAllFiles = GetFiles(facesFileNameExtension, personDisplayDirectory, isDefaultName);
|
||||
foreach ((string personKeyFormatted, Models.PersonBirthday personBirthday) in collection)
|
||||
{
|
||||
orderedPersonBirthdays = (from l in collection where !l.PersonKeyFormatted.Contains(numberSign) orderby l.PersonBirthday.Value.Ticks descending select l.PersonBirthday).ToArray();
|
||||
@ -173,6 +170,7 @@ internal abstract class PersonContainer
|
||||
{
|
||||
List<Models.PersonContainer> results = new();
|
||||
string? minusOne;
|
||||
bool isDefaultName;
|
||||
int? approximateYears;
|
||||
char numberSign = '#';
|
||||
List<string?> changes = new();
|
||||
@ -186,6 +184,7 @@ internal abstract class PersonContainer
|
||||
personDisplayDirectoryName = Path.GetFileName(personDisplayDirectory);
|
||||
if (string.IsNullOrEmpty(personDisplayDirectoryName))
|
||||
continue;
|
||||
isDefaultName = IPerson.IsDefaultName(mappingDefaultName, personDisplayDirectoryName);
|
||||
approximateYears = Age.GetApproximateYears(personCharacters, personDisplayDirectoryName);
|
||||
personKeyDirectories = Directory.GetDirectories(personDisplayDirectory, "*", SearchOption.TopDirectoryOnly);
|
||||
collection = PersonBirthday.GetPersonBirthdays(personBirthdayFormat, personKeyDirectories, personDisplayDirectory, personDisplayDirectoryName);
|
||||
@ -199,10 +198,10 @@ internal abstract class PersonContainer
|
||||
if (changes.Any(l => l is not null))
|
||||
continue;
|
||||
if (collection.Any())
|
||||
results.AddRange(GetPersonContainersCollections(mappingDefaultName, personBirthdayFormat, facesFileNameExtension, personCharacters, individuals, @char, numberSign, personDisplayDirectory, personDisplayDirectoryName, approximateYears, collection));
|
||||
results.AddRange(GetPersonContainersCollections(mappingDefaultName, personBirthdayFormat, facesFileNameExtension, personCharacters, individuals, @char, numberSign, personDisplayDirectory, personDisplayDirectoryName, isDefaultName, approximateYears, collection));
|
||||
else
|
||||
{
|
||||
personDisplayDirectoryAllFiles = GetFiles(facesFileNameExtension, personDisplayDirectory, includeRoot: true);
|
||||
personDisplayDirectoryAllFiles = GetFiles(facesFileNameExtension, personDisplayDirectory, isDefaultName);
|
||||
personContainer = new(approximateYears, @char, personDisplayDirectoryAllFiles, personDisplayDirectoryName);
|
||||
results.Add(personContainer);
|
||||
}
|
||||
|
Reference in New Issue
Block a user