removed-person
This commit is contained in:
@ -1,5 +1,3 @@
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
namespace View_by_Distance.Shared.Models.Stateless.Methods;
|
||||
|
||||
internal abstract class PersonContainer
|
||||
@ -92,13 +90,12 @@ internal abstract class PersonContainer
|
||||
return results;
|
||||
}
|
||||
|
||||
private static List<Models.PersonContainer> GetPersonContainersCollections(string facesFileNameExtension, char[] personCharacters, PersonDirectory personDirectory, char numberSign, string personDisplayDirectory, string personDisplayDirectoryName, int? approximateYears, List<(string PersonKeyFormatted, Models.PersonBirthday PersonBirthday)> collection)
|
||||
private static List<Models.PersonContainer> GetPersonContainersCollections(string facesFileNameExtension, PersonDirectory personDirectory, char numberSign, string personDisplayDirectory, string personDisplayDirectoryName, int? approximateYears, List<(string PersonKeyFormatted, Models.PersonBirthday PersonBirthday)> collection)
|
||||
{
|
||||
List<Models.PersonContainer> results = new();
|
||||
long personKey;
|
||||
string[] files;
|
||||
const int zero = 0;
|
||||
Models.Person person;
|
||||
string personKeyDirectory;
|
||||
Models.PersonContainer personContainer;
|
||||
Models.PersonBirthday[] orderedPersonBirthdays;
|
||||
@ -119,8 +116,7 @@ internal abstract class PersonContainer
|
||||
if (!files.Any())
|
||||
continue;
|
||||
personDisplayDirectoryAllFiles.AddRange(files.Where(l => l.EndsWith(".rel")));
|
||||
person = IPerson.GetPerson(personCharacters, personDisplayDirectoryName, personDisplayDirectoryAllFiles.ToArray(), personKey);
|
||||
personContainer = new(approximateYears, orderedPersonBirthdays, personDisplayDirectoryAllFiles.ToArray(), personDisplayDirectoryName, personKey, person, personDirectory);
|
||||
personContainer = new(approximateYears, orderedPersonBirthdays, personDisplayDirectoryAllFiles.ToArray(), personDisplayDirectoryName, personKey, personDirectory);
|
||||
results.Add(personContainer);
|
||||
}
|
||||
return results;
|
||||
@ -177,7 +173,7 @@ internal abstract class PersonContainer
|
||||
continue;
|
||||
approximateYears = Age.GetApproximateYears(personCharacters, personDisplayDirectoryName);
|
||||
personKeyDirectories = Directory.GetDirectories(personDisplayDirectory, "*", SearchOption.TopDirectoryOnly);
|
||||
collection = PersonBirthday.GetPersonBirthdays(personBirthdayFormat, personKeyDirectories, personDisplayDirectory, personDisplayDirectoryName);
|
||||
collection = PersonBirthday.GetPersonBirthdays(personBirthdayFormat, personKeyDirectories, personDisplayDirectoryName);
|
||||
if (personDisplayDirectoryName.Contains('^'))
|
||||
{
|
||||
minusOne = Path.GetDirectoryName(personDisplayDirectory);
|
||||
@ -189,7 +185,7 @@ internal abstract class PersonContainer
|
||||
continue;
|
||||
if (collection.Count > 0)
|
||||
{
|
||||
personContainers = GetPersonContainersCollections(facesFileNameExtension, personCharacters, personDirectory, numberSign, personDisplayDirectory, personDisplayDirectoryName, approximateYears, collection);
|
||||
personContainers = GetPersonContainersCollections(facesFileNameExtension, personDirectory, numberSign, personDisplayDirectory, personDisplayDirectoryName, approximateYears, collection);
|
||||
results.AddRange(personContainers);
|
||||
}
|
||||
else
|
||||
@ -264,7 +260,7 @@ internal abstract class PersonContainer
|
||||
groupDirectoryName = Path.GetFileName(groupDirectory);
|
||||
if (personCharacters[i] != groupDirectoryName.First())
|
||||
continue;
|
||||
(changes, collection) = GetPersonContainersInnerGroups( personBirthdayFormat, facesFileNameExtension, personCharacters, groupDirectory, groupDirectoryName);
|
||||
(changes, collection) = GetPersonContainersInnerGroups(personBirthdayFormat, facesFileNameExtension, personCharacters, groupDirectory, groupDirectoryName);
|
||||
allChanges.AddRange(changes);
|
||||
personContainers.AddRange(collection);
|
||||
}
|
||||
@ -296,31 +292,13 @@ internal abstract class PersonContainer
|
||||
return results;
|
||||
}
|
||||
|
||||
internal static List<(long?, string)> GetDisplay(string personBirthdayFormat, Models.PersonContainer personContainer)
|
||||
{
|
||||
List<(long?, string)> results = new();
|
||||
string personKeyFormatted;
|
||||
Models.PersonContainer pc = personContainer;
|
||||
if (pc.Person is null || pc.Key is null || pc.Birthdays is null || !pc.Birthdays.Any())
|
||||
results.Add(new(pc.Key, string.Concat('\t', pc.Key, '\t', pc.ApproximateYears, '\t', pc.DisplayDirectoryName)));
|
||||
else
|
||||
{
|
||||
foreach (Models.PersonBirthday personBirthday in pc.Birthdays)
|
||||
{
|
||||
personKeyFormatted = IPersonBirthday.GetFormatted(personBirthdayFormat, personBirthday);
|
||||
results.Add(new(pc.Key, string.Concat(personKeyFormatted, '\t', pc.Key, '\t', pc.ApproximateYears, '\t', pc.DisplayDirectoryName)));
|
||||
}
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
internal static List<long> GetPersonKeys(IEnumerable<Models.PersonContainer> personContainers)
|
||||
{
|
||||
List<long> results = new();
|
||||
long personKey;
|
||||
foreach (Models.PersonContainer personContainer in personContainers)
|
||||
{
|
||||
if (personContainer.Person is null || personContainer.Key is null || personContainer.Birthdays is null || personContainer.Birthdays.Length == 0)
|
||||
if (personContainer.Key is null || personContainer.Birthdays is null || personContainer.Birthdays.Length == 0)
|
||||
continue;
|
||||
foreach (Models.PersonBirthday personBirthday in personContainer.Birthdays)
|
||||
{
|
||||
@ -331,24 +309,4 @@ internal abstract class PersonContainer
|
||||
return results;
|
||||
}
|
||||
|
||||
internal static ReadOnlyDictionary<string, string> GetPersonKeyFormattedToPersonFullName(string personBirthdayFormat, ReadOnlyCollection<Models.PersonContainer> personContainers)
|
||||
{
|
||||
Dictionary<string, string> results = new();
|
||||
string? value;
|
||||
string personFullName;
|
||||
string personKeyFormatted;
|
||||
foreach (Models.PersonContainer personContainer in personContainers)
|
||||
{
|
||||
if (personContainer.Key is null || personContainer.Birthdays is null || personContainer.Person is null || personContainer.PersonDirectory is null || personContainer.Birthdays.Length == 0)
|
||||
continue;
|
||||
personKeyFormatted = IPersonBirthday.GetFormatted(personBirthdayFormat, personContainer.Key.Value);
|
||||
personFullName = PersonName.GetFullName(personContainer.Person.Name);
|
||||
if (!results.TryGetValue(personKeyFormatted, out value))
|
||||
results.Add(personKeyFormatted, personFullName);
|
||||
else if (value != personFullName)
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
return new(results);
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user