Cleanup for Key
This commit is contained in:
parent
a68b8bc714
commit
a41060c232
@ -1065,7 +1065,7 @@ public partial class DlibDotNet
|
|||||||
"1 GEDC",
|
"1 GEDC",
|
||||||
"2 VERS 5.5.1",
|
"2 VERS 5.5.1",
|
||||||
"2 FORM LINEAGE-LINKED",
|
"2 FORM LINEAGE-LINKED",
|
||||||
"1 SUBM @1980-01-17_00@",
|
"1 SUBM @1980-01-17_05@",
|
||||||
"2 NAME Mike Phares Jr",
|
"2 NAME Mike Phares Jr",
|
||||||
"1 SUBN",
|
"1 SUBN",
|
||||||
};
|
};
|
||||||
|
@ -23,31 +23,26 @@ internal abstract class Person
|
|||||||
string? directory = Path.GetDirectoryName(matches[0]);
|
string? directory = Path.GetDirectoryName(matches[0]);
|
||||||
if (directory is null)
|
if (directory is null)
|
||||||
throw new Exception();
|
throw new Exception();
|
||||||
List<string> pGedLines = new();
|
string? sexLine;
|
||||||
|
string? deathLine = null;
|
||||||
string nameLine = $"1 NAME {name.First.Value} /{name.Last.Value}/";
|
string nameLine = $"1 NAME {name.First.Value} /{name.Last.Value}/";
|
||||||
pGedLines.Add($"0 @I{personKeyFormatted}@ INDI");
|
if (personKeyFormatted[^2..] is "23" or "21" or "19" or "17" or "15")
|
||||||
pGedLines.Add(nameLine);
|
|
||||||
if (!string.IsNullOrEmpty(name.First.Value))
|
|
||||||
pGedLines.Add($"2 GIVN {name.First.Value}");
|
|
||||||
if (!string.IsNullOrEmpty(name.Last.Value))
|
|
||||||
pGedLines.Add($"2 SURN {name.Last.Value}");
|
|
||||||
if (!string.IsNullOrEmpty(name.Alias.Value))
|
|
||||||
{
|
{
|
||||||
pGedLines.Add($"2 NICK {name.Alias.Value}");
|
sexLine = "1 SEX M";
|
||||||
if (name.Alias.Value.Contains(" Jr"))
|
deathLine = "1 DEAT Y";
|
||||||
pGedLines.Add("2 NSFX Jr");
|
|
||||||
else if (name.Alias.Value.Contains(" Sr"))
|
|
||||||
pGedLines.Add("2 NSFX Sr");
|
|
||||||
}
|
}
|
||||||
if (personKeyFormatted[^2..] == "23")
|
else if (personKeyFormatted[^2..] is "22" or "20" or "18" or "16" or "14")
|
||||||
pGedLines.Add("1 SEX F");
|
{
|
||||||
else if (personKeyFormatted[^2..] == "22")
|
sexLine = "1 SEX F";
|
||||||
pGedLines.Add("1 SEX M");
|
deathLine = "1 DEAT Y";
|
||||||
else if (personKeyFormatted[^2..] == "21")
|
}
|
||||||
pGedLines.Add("1 SEX U");
|
else if (personKeyFormatted[^2..] is "13" or "11" or "09" or "07" or "05")
|
||||||
|
sexLine = "1 SEX M";
|
||||||
|
else if (personKeyFormatted[^2..] is "12" or "10" or "08" or "06" or "04")
|
||||||
|
sexLine = "1 SEX F";
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string? sexLine = null;
|
sexLine = null;
|
||||||
// string[] sourceLines = File.ReadAllLines("D:/1) Images A/Images-9b89679-Results/A2) People/9b89679/([])/FamilyEcho/638157228251558818-RootsMagic-Export.ged");
|
// string[] sourceLines = File.ReadAllLines("D:/1) Images A/Images-9b89679-Results/A2) People/9b89679/([])/FamilyEcho/638157228251558818-RootsMagic-Export.ged");
|
||||||
string[] sourceLines = File.ReadAllLines("D:/1) Images A/Images-9b89679-Results/A2) People/9b89679/([])/638157314010628679.ged");
|
string[] sourceLines = File.ReadAllLines("D:/1) Images A/Images-9b89679-Results/A2) People/9b89679/([])/638157314010628679.ged");
|
||||||
for (int i = 0; i < sourceLines.Length; i++)
|
for (int i = 0; i < sourceLines.Length; i++)
|
||||||
@ -60,37 +55,57 @@ internal abstract class Person
|
|||||||
if (sourceLines[j].StartsWith("0 @I"))
|
if (sourceLines[j].StartsWith("0 @I"))
|
||||||
break;
|
break;
|
||||||
if (sourceLines[j].StartsWith("1 SEX "))
|
if (sourceLines[j].StartsWith("1 SEX "))
|
||||||
{
|
|
||||||
sexLine = sourceLines[j];
|
sexLine = sourceLines[j];
|
||||||
break;
|
else if (sourceLines[j].StartsWith("1 DEAT "))
|
||||||
}
|
deathLine = sourceLines[j];
|
||||||
}
|
}
|
||||||
if (sexLine is not null)
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
if (sexLine is null)
|
if (sexLine is null)
|
||||||
pGedLines.Add("1 SEX U");
|
sexLine = "1 SEX U";
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pGedLines.Add($"1 SEX {sexLine[6]}");
|
string sex;
|
||||||
string sex = sexLine[6] is 'F' ? "23" : sexLine[6] is 'M' ? "22" : sexLine[6] is 'U' ? "21" : throw new NotImplementedException();
|
if (deathLine is null or not "1 DEAT Y")
|
||||||
|
sex = sexLine[6] is 'M' ? "05" : sexLine[6] is 'F' ? "04" : sexLine[6] is 'U' ? "02" : throw new NotImplementedException();
|
||||||
|
else
|
||||||
|
sex = sexLine[6] is 'M' ? "15" : sexLine[6] is 'F' ? "14" : sexLine[6] is 'U' ? "03" : throw new NotImplementedException();
|
||||||
if (directory.EndsWith("00"))
|
if (directory.EndsWith("00"))
|
||||||
directory = string.Concat(directory[..^2], sex);
|
directory = string.Concat(directory[..^2], sex);
|
||||||
else if (directory.EndsWith("01"))
|
else if (directory.EndsWith("01"))
|
||||||
directory = string.Concat(directory[..^2], sex);
|
directory = string.Concat(directory[..^2], sex);
|
||||||
else if (directory.EndsWith("04")) // Cameran
|
// else if (directory.EndsWith("04")) // Cameran
|
||||||
directory = string.Concat(directory[..^2], sex);
|
// directory = string.Concat(directory[..^2], sex);
|
||||||
else if (directory.EndsWith("05")) // Daisy
|
// else if (directory.EndsWith("05")) // Daisy
|
||||||
directory = string.Concat(directory[..^2], sex);
|
// directory = string.Concat(directory[..^2], sex);
|
||||||
else if (directory.EndsWith("18")) // Meghan
|
// else if (directory.EndsWith("18")) // Meghan
|
||||||
directory = string.Concat(directory[..^2], sex);
|
// directory = string.Concat(directory[..^2], sex);
|
||||||
else if (directory.EndsWith("20")) // Joey
|
// else if (directory.EndsWith("20")) // Joey
|
||||||
directory = string.Concat(directory[..^2], sex);
|
// directory = string.Concat(directory[..^2], sex);
|
||||||
else
|
else
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
personKeyFormatted = $"{personKeyFormatted[..^2]}{sex}";
|
personKeyFormatted = $"{personKeyFormatted[..^2]}{sex}";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
List<string> pGedLines = new()
|
||||||
|
{
|
||||||
|
$"0 @I{personKeyFormatted}@ INDI",
|
||||||
|
nameLine
|
||||||
|
};
|
||||||
|
if (!string.IsNullOrEmpty(name.First.Value))
|
||||||
|
pGedLines.Add($"2 GIVN {name.First.Value}");
|
||||||
|
if (!string.IsNullOrEmpty(name.Last.Value))
|
||||||
|
pGedLines.Add($"2 SURN {name.Last.Value}");
|
||||||
|
if (!string.IsNullOrEmpty(name.Alias.Value))
|
||||||
|
{
|
||||||
|
pGedLines.Add($"2 NICK {name.Alias.Value}");
|
||||||
|
if (name.Alias.Value.Contains(" Jr"))
|
||||||
|
pGedLines.Add("2 NSFX Jr");
|
||||||
|
else if (name.Alias.Value.Contains(" Sr"))
|
||||||
|
pGedLines.Add("2 NSFX Sr");
|
||||||
|
}
|
||||||
|
pGedLines.Add(sexLine);
|
||||||
|
if (!string.IsNullOrEmpty(deathLine))
|
||||||
|
pGedLines.Add(deathLine);
|
||||||
if (!IPersonBirthday.IsCounterPersonBirthday(personBirthday))
|
if (!IPersonBirthday.IsCounterPersonBirthday(personBirthday))
|
||||||
{
|
{
|
||||||
pGedLines.Add("1 BIRT");
|
pGedLines.Add("1 BIRT");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user