33 lines
1.4 KiB
C#
33 lines
1.4 KiB
C#
namespace View_by_Distance.Shared.Models.Stateless.Methods;
|
|
|
|
internal abstract class Person
|
|
{
|
|
|
|
// ...
|
|
|
|
internal static (Models.PersonBirthday?, string) Get(string personBirthdayFormat, string personDisplayDirectory, string personKeyDirectory, DateTime birthday)
|
|
{
|
|
Models.PersonBirthday? personBirthday = new(birthday);
|
|
string personKeyFormatted = IPersonBirthday.GetFormatted(personBirthdayFormat, personBirthday);
|
|
string convertedPersonKeyDirectory = Path.Combine(personDisplayDirectory, personKeyFormatted);
|
|
if (!Directory.Exists(convertedPersonKeyDirectory))
|
|
Directory.Move(personKeyDirectory, convertedPersonKeyDirectory);
|
|
return new(personBirthday, personKeyFormatted);
|
|
}
|
|
|
|
internal static Models.Person GetPerson(long personKey, Models.PersonBirthday personBirthday, string[] segments)
|
|
{
|
|
Models.Person result;
|
|
const int zero = 0;
|
|
List<Models.PersonURL> urls = new();
|
|
Models.PersonId id = new(personKey);
|
|
List<Models.PersonEmail> emails = new();
|
|
List<Models.PersonNumber> numbers = new();
|
|
List<Models.PersonComment> comments = new();
|
|
List<Models.PersonAddress> addresses = new();
|
|
Models.PersonName name = PersonName.Create(segments[zero]);
|
|
result = new(id, personBirthday, name, comments, urls, numbers, emails, addresses);
|
|
return result;
|
|
}
|
|
|
|
} |