mirror of
https://github.com/Theodor-Springmann-Stiftung/hamann-ausgabe-core.git
synced 2025-10-29 09:15:33 +00:00
Anpassungen CMIF
This commit is contained in:
@@ -1,18 +1,14 @@
|
|||||||
using System;
|
|
||||||
using HaXMLReader.EvArgs;
|
using HaXMLReader.EvArgs;
|
||||||
using HaXMLReader.Interfaces;
|
using HaXMLReader.Interfaces;
|
||||||
using HaDocument.Models;
|
using HaDocument.Models;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
using System.Xml;
|
|
||||||
|
|
||||||
namespace HaDocument.Reactors {
|
namespace HaDocument.Reactors {
|
||||||
class PersonDefsReactor : Reactor {
|
class PersonDefsReactor : Reactor {
|
||||||
internal Dictionary<string, Person> CreatedInstances;
|
internal Dictionary<string, Person> CreatedInstances;
|
||||||
|
|
||||||
// State
|
// State
|
||||||
private string Index;
|
private string? Index;
|
||||||
private string Name;
|
private string? Name;
|
||||||
private string Prename = "";
|
private string Prename = "";
|
||||||
private string Surname = "";
|
private string Surname = "";
|
||||||
private string? Reference;
|
private string? Reference;
|
||||||
@@ -45,7 +41,7 @@ namespace HaDocument.Reactors {
|
|||||||
Prename = tag["vorname"];
|
Prename = tag["vorname"];
|
||||||
Surname = tag["nachname"];
|
Surname = tag["nachname"];
|
||||||
Reference = String.IsNullOrWhiteSpace(tag["ref"]) ? null : tag["ref"];
|
Reference = String.IsNullOrWhiteSpace(tag["ref"]) ? null : tag["ref"];
|
||||||
IsOrg = tag["org"] == "true";
|
IsOrg = String.IsNullOrWhiteSpace(tag["org"]) ? false : tag["org"] == "true";
|
||||||
if (!String.IsNullOrWhiteSpace(tag["komm"])) Komm = tag["komm"];
|
if (!String.IsNullOrWhiteSpace(tag["komm"])) Komm = tag["komm"];
|
||||||
Add();
|
Add();
|
||||||
_active = false;
|
_active = false;
|
||||||
@@ -63,6 +59,7 @@ namespace HaDocument.Reactors {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void Add() {
|
public void Add() {
|
||||||
|
if (Index == null || Name == null) return;
|
||||||
CreatedInstances.Add(Index, new Person(Index, Name, Prename, Surname, Komm, Reference, null, IsOrg));
|
CreatedInstances.Add(Index, new Person(Index, Name, Prename, Surname, Komm, Reference, null, IsOrg));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,13 +27,9 @@ public class TitleStatement {
|
|||||||
[XmlElement("editor")]
|
[XmlElement("editor")]
|
||||||
public List<Editor>? Editor { get; set; } = new List<Editor>() {
|
public List<Editor>? Editor { get; set; } = new List<Editor>() {
|
||||||
new Editor() {
|
new Editor() {
|
||||||
Email = "keidel@tss-hd.de",
|
Email = "post@hamann-ausgabe.de",
|
||||||
Name = "Leonard Keidel",
|
Name = "Janina Reibold, Leonard Keidel, Simon Martens",
|
||||||
},
|
},
|
||||||
new Editor() {
|
|
||||||
Email = "reibold@tss-hd.de",
|
|
||||||
Name = "Janina Reibold",
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -148,6 +144,8 @@ public class CorrespondenceAction {
|
|||||||
public List<PersonName>? PersonName { get; set; }
|
public List<PersonName>? PersonName { get; set; }
|
||||||
[XmlElement("placeName")]
|
[XmlElement("placeName")]
|
||||||
public List<PlaceName>? PlaceName { get; set; }
|
public List<PlaceName>? PlaceName { get; set; }
|
||||||
|
[XmlElement("orgName")]
|
||||||
|
public List<string>? OrgName { get; set; }
|
||||||
[XmlElement("date")]
|
[XmlElement("date")]
|
||||||
public Date? Date { get; set; }
|
public Date? Date { get; set; }
|
||||||
}
|
}
|
||||||
@@ -209,6 +207,7 @@ public class TeiDocument {
|
|||||||
var UNKNOWN_URL = "http://correspSearch.net/unknown";
|
var UNKNOWN_URL = "http://correspSearch.net/unknown";
|
||||||
var UNKNOWN_TEXT = "Unbekannt";
|
var UNKNOWN_TEXT = "Unbekannt";
|
||||||
var LETTER_URL = "https://hamann-ausgabe.de/HKB/Briefe/";
|
var LETTER_URL = "https://hamann-ausgabe.de/HKB/Briefe/";
|
||||||
|
var PERSON_URL = "https://hamann-ausgabe.de/HKB/Person/";
|
||||||
var DATE_OUTPUT = "yyyy-MM-dd";
|
var DATE_OUTPUT = "yyyy-MM-dd";
|
||||||
List<CorrespondenceDescription> cds = new List<CorrespondenceDescription>();
|
List<CorrespondenceDescription> cds = new List<CorrespondenceDescription>();
|
||||||
foreach (var meta in lib.Metas.Values) {
|
foreach (var meta in lib.Metas.Values) {
|
||||||
@@ -252,46 +251,52 @@ public class TeiDocument {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (meta.Senders != null && meta.Senders.Count() > 0) {
|
if (meta.Senders != null && meta.Senders.Count() > 0) {
|
||||||
sent.PersonName = new List<PersonName>();
|
var PersonName = new List<PersonName>();
|
||||||
|
var OrgName = new List<string>();
|
||||||
foreach (var sender in meta.Senders) {
|
foreach (var sender in meta.Senders) {
|
||||||
var pn = new PersonName();
|
|
||||||
if (sender == "-1") {
|
if (sender == "-1") {
|
||||||
pn.Name = UNKNOWN_TEXT;
|
PersonName.Add(new PersonName() { Name = UNKNOWN_TEXT, Reference = UNKNOWN_URL });
|
||||||
pn.Reference = UNKNOWN_URL;
|
|
||||||
}
|
}
|
||||||
else if (lib.Persons.ContainsKey(sender)) {
|
else if (lib.Persons.ContainsKey(sender)) {
|
||||||
pn.Name = lib.Persons[sender].Name;
|
var libpers = lib.Persons[sender];
|
||||||
if (lib.Persons[sender].Reference != null && !string.IsNullOrWhiteSpace(lib.Persons[sender].Reference)) {
|
if (libpers.IsOrg) {
|
||||||
pn.Reference = lib.Persons[sender].Reference;
|
OrgName.Add(libpers.Name);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var pref = PERSON_URL + libpers.Index;
|
||||||
|
if (libpers.Reference != null && !string.IsNullOrWhiteSpace(libpers.Reference))
|
||||||
|
pref = libpers.Reference;
|
||||||
|
PersonName.Add(new PersonName() { Name = libpers.Name, Reference = pref });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
pn = null;
|
|
||||||
}
|
|
||||||
if (pn != null) sent.PersonName.Add(pn);
|
|
||||||
}
|
}
|
||||||
|
if (PersonName.Count() > 0) sent.PersonName = PersonName;
|
||||||
|
if (OrgName.Count() > 0) sent.OrgName = OrgName;
|
||||||
}
|
}
|
||||||
cd.CorrespondenceActions = new List<CorrespondenceAction>() { sent };
|
cd.CorrespondenceActions = new List<CorrespondenceAction>() { sent };
|
||||||
var recieved = new CorrespondenceAction();
|
var recieved = new CorrespondenceAction();
|
||||||
if (meta.Receivers != null && meta.Receivers.Count() > 0) {
|
if (meta.Receivers != null && meta.Receivers.Count() > 0) {
|
||||||
recieved.PersonName = new List<PersonName>();
|
var PersonName = new List<PersonName>();
|
||||||
foreach (var sender in meta.Receivers) {
|
var OrgName = new List<string>();
|
||||||
var pn = new PersonName();
|
foreach (var reciever in meta.Receivers) {
|
||||||
if (sender == "-1") {
|
if (reciever == "-1") {
|
||||||
pn.Name = UNKNOWN_TEXT;
|
PersonName.Add(new PersonName() { Name = UNKNOWN_TEXT, Reference = UNKNOWN_URL });
|
||||||
pn.Reference = UNKNOWN_URL;
|
|
||||||
}
|
}
|
||||||
else if (lib.Persons.ContainsKey(sender)) {
|
else if (lib.Persons.ContainsKey(reciever)) {
|
||||||
pn.Name = lib.Persons[sender].Name;
|
var libpers = lib.Persons[reciever];
|
||||||
if (lib.Persons[sender].Reference != null && !string.IsNullOrWhiteSpace(lib.Persons[sender].Reference)) {
|
if (libpers.IsOrg) {
|
||||||
pn.Reference = lib.Persons[sender].Reference;
|
OrgName.Add(libpers.Name);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var pref = PERSON_URL + libpers.Index;
|
||||||
|
if (libpers.Reference != null && !string.IsNullOrWhiteSpace(libpers.Reference))
|
||||||
|
pref = libpers.Reference;
|
||||||
|
PersonName.Add(new PersonName() { Name = libpers.Name, Reference = pref });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
pn = null;
|
|
||||||
}
|
|
||||||
if (pn != null) recieved.PersonName.Add(pn);
|
|
||||||
}
|
}
|
||||||
|
if (PersonName.Count() > 0) recieved.PersonName = PersonName;
|
||||||
|
if (OrgName.Count() > 0) recieved.OrgName = OrgName;
|
||||||
}
|
}
|
||||||
recieved.Type = "received";
|
recieved.Type = "received";
|
||||||
cd.CorrespondenceActions.Add(recieved);
|
cd.CorrespondenceActions.Add(recieved);
|
||||||
|
|||||||
@@ -2,18 +2,18 @@
|
|||||||
<html class="h-full w-full overflow-hidden" lang="de" id="top">
|
<html class="h-full w-full overflow-hidden" lang="de" id="top">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
@await Html.PartialAsync("/Views/Shared/_Head.cshtml")
|
@await Html.PartialAsync("/Views/Shared/_Head.cshtml")
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="h-full w-full" hx-boost="true">
|
<body class="h-full w-full" hx-boost="true">
|
||||||
<div class="flex flex-col h-full">
|
<div class="flex flex-col h-full">
|
||||||
@await Html.PartialAsync("/Views/Shared/_HKBMenu.cshtml")
|
@await Html.PartialAsync("/Views/Shared/_HKBMenu.cshtml")
|
||||||
<main role="main" class="mb-6 w-full desktop:max-w-screen-desktop mx-auto grow">
|
<main role="main" class="mb-6 w-full desktop:max-w-screen-desktop mx-auto grow">
|
||||||
@RenderBody()
|
@RenderBody()
|
||||||
</main>
|
</main>
|
||||||
<div class="w-full">
|
<div class="w-full">
|
||||||
@await Html.PartialAsync("/Views/Shared/_Footer.cshtml")
|
@await Html.PartialAsync("/Views/Shared/_Footer.cshtml")
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@await Html.PartialAsync("/Views/Shared/_ScrollButton.cshtml")
|
@await Html.PartialAsync("/Views/Shared/_ScrollButton.cshtml")
|
||||||
<feature name="Notifications">
|
<feature name="Notifications">
|
||||||
@@ -22,4 +22,5 @@
|
|||||||
@await RenderSectionAsync("JavaScript", false)
|
@await RenderSectionAsync("JavaScript", false)
|
||||||
@await Html.PartialAsync("/Views/Shared/_Scripts.cshtml")
|
@await Html.PartialAsync("/Views/Shared/_Scripts.cshtml")
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user