diff --git a/Elwig/Models/Dtos/AreaComUnderDeliveyData.cs b/Elwig/Models/Dtos/AreaComUnderDeliveyData.cs index b5c832b..d9e6a95 100644 --- a/Elwig/Models/Dtos/AreaComUnderDeliveyData.cs +++ b/Elwig/Models/Dtos/AreaComUnderDeliveyData.cs @@ -9,8 +9,8 @@ namespace Elwig.Models.Dtos { private static readonly (string, string, string?, int)[] FieldNames = [ ("MgNr", "MgNr.", null, 12), - ("Name", "Name", null, 40), - ("GivenName", "Vorname", null, 40), + ("Name1", "Name", null, 40), + ("Name2", "Vorname", null, 40), ("Address", "Adresse", null, 60), ("Plz", "PLZ", null, 10), ("Locality", "Ort", null, 60), @@ -35,7 +35,10 @@ namespace Elwig.Models.Dtos { private static async Task> FromDbSet(DbSet table, int year) { return await table.FromSqlRaw($""" - SELECT m.mgnr, m.family_name, m.given_name, p.plz, o.name AS ort, m.address, + SELECT m.mgnr, m.family_name AS name_1, + COALESCE(m.prefix || ' ', '') || m.given_name || + COALESCE(' ' || m.middle_names, '') || COALESCE(' ' || m.suffix, '') AS name_2, + p.plz, o.name AS ort, m.address, c.bucket, c.area, u.min_kg, u.weight FROM member m LEFT JOIN AT_plz_dest p ON p.id = m.postal_dest @@ -50,8 +53,8 @@ namespace Elwig.Models.Dtos { public class AreaComUnderDeliveryRow { public int MgNr; - public string Name; - public string GivenName; + public string Name1; + public string Name2; public string Address; public int Plz; public string Locality; @@ -66,8 +69,8 @@ namespace Elwig.Models.Dtos { public AreaComUnderDeliveryRow(IEnumerable rows) { var f = rows.First(); MgNr = f.MgNr; - Name = f.Name; - GivenName = f.GivenName; + Name1 = f.Name1; + Name2 = f.Name2; Address = f.Address; Plz = f.Plz; Locality = f.Locality.Split(",")[0]; @@ -82,10 +85,10 @@ namespace Elwig.Models.Dtos { public class AreaComUnderDeliveryRowSingle { [Column("mgnr")] public int MgNr { get; set; } - [Column("family_name")] - public required string Name { get; set; } - [Column("given_name")] - public required string GivenName { get; set; } + [Column("name_1")] + public required string Name1 { get; set; } + [Column("name_2")] + public required string Name2 { get; set; } [Column("address")] public required string Address { get; set; } [Column("plz")] diff --git a/Elwig/Models/Dtos/CreditNoteData.cs b/Elwig/Models/Dtos/CreditNoteData.cs index 5e4a663..2654d90 100644 --- a/Elwig/Models/Dtos/CreditNoteData.cs +++ b/Elwig/Models/Dtos/CreditNoteData.cs @@ -12,8 +12,8 @@ namespace Elwig.Models.Dtos { private static readonly (string, string, string?, int)[] FieldNames = [ ("MgNr", "MgNr.", null, 12), - ("Name", "Name", null, 40), - ("GivenName", "Vorname", null, 40), + ("Name1", "Name", null, 40), + ("Name2", "Vorname", null, 40), ("Address", "Adresse", null, 60), ("Plz", "PLZ", null, 10), ("Locality", "Ort", null, 60), @@ -49,7 +49,10 @@ namespace Elwig.Models.Dtos { private static async Task> FromDbSet(DbSet table, int year, int avnr) { return await table.FromSqlRaw($""" - SELECT m.mgnr, m.family_name, m.given_name, p.plz, o.name AS ort, m.address, m.iban, c.tgnr, s.year, s.precision, + SELECT m.mgnr, m.family_name AS name_1, + COALESCE(m.prefix || ' ', '') || m.given_name || + COALESCE(' ' || m.middle_names, '') || COALESCE(' ' || m.suffix, '') AS name_2, + p.plz, o.name AS ort, m.address, m.iban, c.tgnr, s.year, s.precision, p.amount - p.net_amount AS surcharge, c.net_amount, c.prev_net_amount, c.vat, c.vat_amount, c.gross_amount, c.modifiers, c.prev_modifiers, c.amount, ROUND(COALESCE(u.total_penalty, 0) / POW(10, 4 - 2)) AS fb_penalty, @@ -72,8 +75,8 @@ namespace Elwig.Models.Dtos { public class CreditNoteRow { public int MgNr; - public string Name; - public string GivenName; + public string Name1; + public string Name2; public string Address; public int Plz; public string Locality; @@ -96,8 +99,8 @@ namespace Elwig.Models.Dtos { public CreditNoteRow(CreditNoteRowSingle row, BillingData data) { byte prec1 = 2, prec2 = row.Precision; MgNr = row.MgNr; - Name = row.Name; - GivenName = row.GivenName; + Name1 = row.Name1; + Name2 = row.Name2; Address = row.Address; Plz = row.Plz; Locality = row.Locality; @@ -132,10 +135,10 @@ namespace Elwig.Models.Dtos { public class CreditNoteRowSingle { [Column("mgnr")] public int MgNr { get; set; } - [Column("family_name")] - public required string Name { get; set; } - [Column("given_name")] - public required string GivenName { get; set; } + [Column("name_1")] + public required string Name1 { get; set; } + [Column("name_2")] + public required string Name2 { get; set; } [Column("address")] public required string Address { get; set; } [Column("plz")] diff --git a/Elwig/Models/Dtos/MemberDeliveryPerVariantData.cs b/Elwig/Models/Dtos/MemberDeliveryPerVariantData.cs index 1c1ab46..2a6e31e 100644 --- a/Elwig/Models/Dtos/MemberDeliveryPerVariantData.cs +++ b/Elwig/Models/Dtos/MemberDeliveryPerVariantData.cs @@ -10,8 +10,8 @@ namespace Elwig.Models.Dtos { private static readonly (string, string, string?, int)[] FieldNames = [ ("MgNr", "MgNr.", null, 12), - ("Name", "Name", null, 40), - ("GivenName", "Vorname", null, 40), + ("Name1", "Name", null, 40), + ("Name2", "Vorname", null, 40), ("Address", "Adresse", null, 60), ("Plz", "PLZ", null, 10), ("Locality", "Ort", null, 60), @@ -37,7 +37,10 @@ namespace Elwig.Models.Dtos { private static async Task> FromDbSet(DbSet table, int year) { return await table.FromSqlRaw($""" - SELECT m.mgnr, m.family_name, m.given_name, p.plz, o.name AS ort, m.address, + SELECT m.mgnr, m.family_name AS name_1, + COALESCE(m.prefix || ' ', '') || m.given_name || + COALESCE(' ' || m.middle_names, '') || COALESCE(' ' || m.suffix, '') AS name_2, + p.plz, o.name AS ort, m.address, v.bucket, v.weight, v.area FROM ( SELECT c.year AS year, @@ -68,8 +71,8 @@ namespace Elwig.Models.Dtos { public class MemberDeliveryPerVariantRow { public int MgNr; - public string Name; - public string GivenName; + public string Name1; + public string Name2; public string Address; public int Plz; public string Locality; @@ -82,8 +85,8 @@ namespace Elwig.Models.Dtos { public MemberDeliveryPerVariantRow(IEnumerable rows) { var f = rows.First(); MgNr = f.MgNr; - Name = f.Name; - GivenName = f.GivenName; + Name1 = f.Name1; + Name2 = f.Name2; Address = f.Address; Plz = f.Plz; Locality = f.Locality.Split(",")[0]; @@ -98,10 +101,10 @@ namespace Elwig.Models.Dtos { public class MemberDeliveryPerVariantRowSingle { [Column("mgnr")] public int MgNr { get; set; } - [Column("family_name")] - public required string Name { get; set; } - [Column("given_name")] - public required string GivenName { get; set; } + [Column("name_1")] + public required string Name1 { get; set; } + [Column("name_2")] + public required string Name2 { get; set; } [Column("address")] public required string Address { get; set; } [Column("plz")] diff --git a/Elwig/Models/Dtos/MemberListData.cs b/Elwig/Models/Dtos/MemberListData.cs index 97522d5..38d344f 100644 --- a/Elwig/Models/Dtos/MemberListData.cs +++ b/Elwig/Models/Dtos/MemberListData.cs @@ -12,8 +12,8 @@ namespace Elwig.Models.Dtos { private static readonly (string, string, string?, int?)[] FieldNames = [ ("MgNr", "MgNr.", null, 12), - ("Name", "Name", null, 40), - ("GivenName", "Vorname", null, 40), + ("Name1", "Name", null, 40), + ("Name2", "Vorname", null, 40), ("Address", "Adresse", null, 60), ("Plz", "PLZ", null, 10), ("Locality", "Ort", null, 60), @@ -54,8 +54,8 @@ namespace Elwig.Models.Dtos { public class MemberListRow { public int MgNr; - public string? Name; - public string? GivenName; + public string? Name1; + public string? Name2; public string? DefaultKg; public string? Branch; public int BusinessShares; @@ -80,8 +80,8 @@ namespace Elwig.Models.Dtos { public MemberListRow(Member m, int? areaCom = null) { MgNr = m.MgNr; - Name = m.FamilyName; - GivenName = m.GivenName; + Name1 = m.FamilyName; + Name2 = m.AdministrativeName2; DefaultKg = m.DefaultKg?.Name; Branch = m.Branch?.Name; BusinessShares = m.BusinessShares; diff --git a/Elwig/Models/Dtos/OverUnderDeliveryData.cs b/Elwig/Models/Dtos/OverUnderDeliveryData.cs index 7e5f975..5b47b3b 100644 --- a/Elwig/Models/Dtos/OverUnderDeliveryData.cs +++ b/Elwig/Models/Dtos/OverUnderDeliveryData.cs @@ -9,8 +9,8 @@ namespace Elwig.Models.Dtos { private static readonly (string, string, string?, int)[] FieldNames = [ ("MgNr", "MgNr.", null, 12), - ("Name", "Name", null, 40), - ("GivenName", "Vorname", null, 40), + ("Name1", "Name", null, 40), + ("Name2", "Vorname", null, 40), ("Address", "Adresse", null, 60), ("Plz", "PLZ", null, 10), ("Locality", "Ort", null, 60), @@ -27,7 +27,10 @@ namespace Elwig.Models.Dtos { public static async Task ForSeason(DbSet table, int year) { var rows = await table.FromSqlRaw($""" - SELECT m.mgnr, m.family_name, m.given_name, p.plz, o.name AS ort, m.address, m.business_shares, + SELECT m.mgnr, m.family_name AS name_1, + COALESCE(m.prefix || ' ', '') || m.given_name || + COALESCE(' ' || m.middle_names, '') || COALESCE(' ' || m.suffix, '') AS name_2, + p.plz, o.name AS ort, m.address, m.business_shares, m.business_shares * s.min_kg_per_bs AS min_kg, m.business_shares * s.max_kg_per_bs AS max_kg, COALESCE(SUM(d.weight), 0) AS sum @@ -48,10 +51,10 @@ namespace Elwig.Models.Dtos { public class OverUnderDeliveryRow { [Column("mgnr")] public int MgNr { get; set; } - [Column("family_name")] - public required string Name { get; set; } - [Column("given_name")] - public required string GivenName { get; set; } + [Column("name_1")] + public required string Name1 { get; set; } + [Column("name_2")] + public required string Name2 { get; set; } [Column("address")] public required string Address { get; set; } [Column("plz")]