mirror of
https://github.com/Theodor-Springmann-Stiftung/hamann-ausgabe-core.git
synced 2025-10-29 09:15:33 +00:00
51 lines
1.7 KiB
C#
51 lines
1.7 KiB
C#
using System.Xml.Linq;
|
|
|
|
namespace HaDocument.Models {
|
|
public class Person {
|
|
public string Index { get; } = string.Empty;
|
|
public string Name { get; } = string.Empty;
|
|
public string? Prename { get; }
|
|
public string? Surname { get; }
|
|
public string? Komm { get; }
|
|
public string? Reference { get; }
|
|
public bool IsOrg { get; } = false;
|
|
public XElement? XElement { get; }
|
|
|
|
public Person(
|
|
string index,
|
|
string name,
|
|
string? prename,
|
|
string? surname,
|
|
string? komm,
|
|
string? reference,
|
|
XElement? xElement = null,
|
|
bool IsOrg = false
|
|
) {
|
|
Index = index;
|
|
Name = name;
|
|
Prename = prename;
|
|
Surname = surname;
|
|
Komm = komm;
|
|
Reference = reference;
|
|
this.XElement = xElement;
|
|
this.IsOrg = IsOrg;
|
|
}
|
|
|
|
public static Person? FromXElement(XElement element) {
|
|
if (!element.HasAttributes || (element.Name != "personDef" && element.Name != "handDef")) return null;
|
|
if (element.Attribute("index")?.Value == null || element.Attribute("name")?.Value == null) return null;
|
|
var org = element.HasAttributes && element.Attribute("org")?.Value == "true";
|
|
return new Person(
|
|
element.Attribute("index")!.Value,
|
|
element.Attribute("name")!.Value,
|
|
element.Attribute("vorname")?.Value,
|
|
element.Attribute("nachname")?.Value,
|
|
element.Attribute("komm")?.Value,
|
|
element.Attribute("ref")?.Value,
|
|
element,
|
|
org
|
|
);
|
|
}
|
|
}
|
|
}
|