Elwig: Rename AreaCom to AreaCmt

This commit is contained in:
2026-09-30 12:14:30 +02:00
parent a18d687f18
commit 3d96c31a70
42 changed files with 387 additions and 387 deletions
@@ -5,7 +5,7 @@ using System.Linq;
using System.Threading.Tasks;
namespace Elwig.Models.Dtos {
public class AreaComUnderDeliveryData : DataTable<AreaComUnderDeliveryRow> {
public class AreaCmtUnderDeliveryData : DataTable<AreaCmtUnderDeliveryRow> {
private static readonly (string, string, string?, int)[] FieldNames = [
("MgNr", "MgNr.", null, 12),
@@ -21,19 +21,19 @@ namespace Elwig.Models.Dtos {
("UnderDeliveries", "Unterliefert", "kg|%", 34),
];
public AreaComUnderDeliveryData(IEnumerable<AreaComUnderDeliveryRow> rows, int year) :
public AreaCmtUnderDeliveryData(IEnumerable<AreaCmtUnderDeliveryRow> rows, int year) :
base($"Unterlieferungen FB", $"Unterlieferungen laut Flächenbindungen {year}", rows, FieldNames) {
}
public static async Task<AreaComUnderDeliveryData> ForSeason(DbSet<AreaComUnderDeliveryRowSingle> table, int year) {
return new AreaComUnderDeliveryData(
public static async Task<AreaCmtUnderDeliveryData> ForSeason(DbSet<AreaCmtUnderDeliveryRowSingle> table, int year) {
return new AreaCmtUnderDeliveryData(
(await FromDbSet(table, year)).GroupBy(
r => r.MgNr,
(k, g) => new AreaComUnderDeliveryRow(g)
(k, g) => new AreaCmtUnderDeliveryRow(g)
), year);
}
private static async Task<IEnumerable<AreaComUnderDeliveryRowSingle>> FromDbSet(DbSet<AreaComUnderDeliveryRowSingle> table, int year) {
private static async Task<IEnumerable<AreaCmtUnderDeliveryRowSingle>> FromDbSet(DbSet<AreaCmtUnderDeliveryRowSingle> table, int year) {
return await table.FromSql($"""
SELECT m.mgnr, m.name AS name_1,
COALESCE(m.prefix || ' ', '') || m.given_name ||
@@ -51,7 +51,7 @@ namespace Elwig.Models.Dtos {
}
}
public class AreaComUnderDeliveryRow {
public class AreaCmtUnderDeliveryRow {
public int MgNr;
public string Name1;
public string? Name2;
@@ -66,7 +66,7 @@ namespace Elwig.Models.Dtos {
.Select(v => v.First < v.Second ? ((int?, double?))(v.First - v.Second, v.First * 100.0 / v.Second - 100.0) : (null, null))
.ToArray();
public AreaComUnderDeliveryRow(IEnumerable<AreaComUnderDeliveryRowSingle> rows) {
public AreaCmtUnderDeliveryRow(IEnumerable<AreaCmtUnderDeliveryRowSingle> rows) {
var f = rows.First();
MgNr = f.MgNr;
Name1 = f.Name1;
@@ -82,7 +82,7 @@ namespace Elwig.Models.Dtos {
}
[Keyless]
public class AreaComUnderDeliveryRowSingle {
public class AreaCmtUnderDeliveryRowSingle {
[Column("mgnr")]
public int MgNr { get; set; }
[Column("name_1")]
@@ -5,7 +5,7 @@ using System.Linq;
using System.Threading.Tasks;
namespace Elwig.Models.Dtos {
class MemberAreaComTotalsData : DataTable<MemberAreaComTotalsRow> {
class MemberAreaCmtTotalsData : DataTable<MemberAreaCmtTotalsRow> {
private static readonly (string, string, string?, int)[] FieldNames = [
("MgNr", "MgNr.", null, 12),
@@ -21,19 +21,19 @@ namespace Elwig.Models.Dtos {
("DeliveryRights", "Lieferrecht", "kg", 22),
];
public MemberAreaComTotalsData(IEnumerable<MemberAreaComTotalsRow> rows, int year) :
public MemberAreaCmtTotalsData(IEnumerable<MemberAreaCmtTotalsRow> rows, int year) :
base($"Gebundene Fläche", $"Gebundene Fläche pro Mitglied {year}", rows, FieldNames) {
}
public static async Task<MemberAreaComTotalsData> ForSeason(DbSet<MemberAreaComTotalsRowSingle> table, int year) {
return new MemberAreaComTotalsData(
public static async Task<MemberAreaCmtTotalsData> ForSeason(DbSet<MemberAreaCmtTotalsRowSingle> table, int year) {
return new MemberAreaCmtTotalsData(
(await FromDbSet(table, year)).GroupBy(
r => r.MgNr,
(k, g) => new MemberAreaComTotalsRow(g)
(k, g) => new MemberAreaCmtTotalsRow(g)
), year);
}
private static async Task<IEnumerable<MemberAreaComTotalsRowSingle>> FromDbSet(DbSet<MemberAreaComTotalsRowSingle> table, int year) {
private static async Task<IEnumerable<MemberAreaCmtTotalsRowSingle>> FromDbSet(DbSet<MemberAreaCmtTotalsRowSingle> table, int year) {
return await table.FromSql($"""
SELECT m.mgnr, m.name AS name_1,
COALESCE(m.prefix || ' ', '') || m.given_name ||
@@ -50,7 +50,7 @@ namespace Elwig.Models.Dtos {
}
}
public class MemberAreaComTotalsRow {
public class MemberAreaCmtTotalsRow {
public int MgNr;
public string Name1;
public string? Name2;
@@ -63,7 +63,7 @@ namespace Elwig.Models.Dtos {
public int[] DeliveryObligations;
public int[] DeliveryRights;
public MemberAreaComTotalsRow(IEnumerable<MemberAreaComTotalsRowSingle> rows) {
public MemberAreaCmtTotalsRow(IEnumerable<MemberAreaCmtTotalsRowSingle> rows) {
var f = rows.First();
MgNr = f.MgNr;
Name1 = f.Name1;
@@ -80,7 +80,7 @@ namespace Elwig.Models.Dtos {
}
[Keyless]
public class MemberAreaComTotalsRowSingle {
public class MemberAreaCmtTotalsRowSingle {
[Column("mgnr")]
public int MgNr { get; set; }
[Column("name_1")]
@@ -5,7 +5,7 @@ using System.Linq;
using System.Threading.Tasks;
namespace Elwig.Models.Dtos {
class MemberAreaComsData : DataTable<MemberAreaComsRow> {
class MemberAreaCmtsData : DataTable<MemberAreaCmtsRow> {
private static readonly (string, string, string?, int)[] FieldNames = [
("MgNr", "MgNr.", null, 12),
@@ -23,15 +23,15 @@ namespace Elwig.Models.Dtos {
("MaxKg", "Lieferrecht", "kg", 22),
];
public MemberAreaComsData(IEnumerable<MemberAreaComsRow> rows, int year) :
public MemberAreaCmtsData(IEnumerable<MemberAreaCmtsRow> rows, int year) :
base($"Flächenbindungen", $"Flächenbindungen pro Mitglied {year}", rows, FieldNames) {
}
public static async Task<MemberAreaComsData> ForSeason(DbSet<MemberAreaComsRow> table, int year) {
return new MemberAreaComsData(await FromDbSet(table, year), year);
public static async Task<MemberAreaCmtsData> ForSeason(DbSet<MemberAreaCmtsRow> table, int year) {
return new MemberAreaCmtsData(await FromDbSet(table, year), year);
}
private static async Task<IEnumerable<MemberAreaComsRow>> FromDbSet(DbSet<MemberAreaComsRow> table, int year) {
private static async Task<IEnumerable<MemberAreaCmtsRow>> FromDbSet(DbSet<MemberAreaCmtsRow> table, int year) {
return await table.FromSql($"""
SELECT m.mgnr, m.name AS name_1,
COALESCE(m.prefix || ' ', '') || m.given_name ||
@@ -56,7 +56,7 @@ namespace Elwig.Models.Dtos {
}
[Keyless]
public class MemberAreaComsRow {
public class MemberAreaCmtsRow {
[Column("mgnr")]
public int MgNr { get; set; }
[Column("name_1")]
+6 -6
View File
@@ -46,15 +46,15 @@ namespace Elwig.Models.Dtos {
base(MemberList.Name, MemberList.Name, string.Join(" / ", filterNames), rows, FieldNames) {
}
public static async Task<MemberListData> FromQuery(IQueryable<Member> query, List<string> filterNames, IEnumerable<string> filterAreaCom) {
var areaComs = await query.Include(m => m.AreaCommitments).ToDictionaryAsync(m => m.MgNr, m => Utils.ActiveAreaCommitments(m.AreaCommitments));
public static async Task<MemberListData> FromQuery(IQueryable<Member> query, List<string> filterNames, IEnumerable<string> filterAreaCmt) {
var areaCmts = await query.Include(m => m.AreaCommitments).ToDictionaryAsync(m => m.MgNr, m => Utils.ActiveAreaCommitments(m.AreaCommitments));
return new((await query
.Include(m => m.Branch)
.Include(m => m.TelephoneNumbers)
.Include(m => m.EmailAddresses)
.ToListAsync()).Select(m => new MemberListRow(m,
areaComs[m.MgNr].Sum(c => c.Area),
areaComs[m.MgNr].Where(c => filterAreaCom.Contains(c.VtrgId)).GroupBy(c => c.VtrgId).ToDictionary(g => g.Key, g => g.Sum(c => c.Area)))),
areaCmts[m.MgNr].Sum(c => c.Area),
areaCmts[m.MgNr].Where(c => filterAreaCmt.Contains(c.VtrgId)).GroupBy(c => c.VtrgId).ToDictionary(g => g.Key, g => g.Sum(c => c.Area)))),
filterNames);
}
}
@@ -94,7 +94,7 @@ namespace Elwig.Models.Dtos {
public string? AdditionalContact;
public string? Comment;
public MemberListRow(Member m, int? areaCom = null, Dictionary<string, int>? filtered = null) {
public MemberListRow(Member m, int? areaCmt = null, Dictionary<string, int>? filtered = null) {
MgNr = m.MgNr;
Name1 = m.Name;
AdminName1 = m.AdministrativeName1;
@@ -133,7 +133,7 @@ namespace Elwig.Models.Dtos {
.Distinct()
.Concat(m.EmailAddresses.OrderBy(a => a.Nr).Select(a => a.Address).Except([EmailAddress])));
Comment = m.Comment;
AreaCommitment = areaCom == 0 ? null : areaCom;
AreaCommitment = areaCmt == 0 ? null : areaCmt;
AreaCommitmentsFiltered = filtered != null ? filtered.OrderBy(f => f.Key).Select(f => (f.Key, f.Value)).ToArray() : [];
}
}
@@ -4,7 +4,7 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace Elwig.Models.Entities {
[Table("area_commitment"), PrimaryKey("FbNr", "RevNr")]
public class AreaCom {
public class AreaCmt {
[Column("fbnr")]
public int FbNr { get; set; }
@@ -65,13 +65,13 @@ namespace Elwig.Models.Entities {
}
[ForeignKey("FbNr")]
public virtual AreaComContract Contract { get; private set; } = null!;
public virtual AreaCmtContract Contract { get; private set; } = null!;
[ForeignKey("MgNr")]
public virtual Member Member { get; private set; } = null!;
[ForeignKey("VtrgId")]
public virtual AreaComType AreaComType { get; private set; } = null!;
public virtual AreaCmtType AreaCmtType { get; private set; } = null!;
[ForeignKey("CultId")]
public virtual WineCult? WineCult { get; private set; }
@@ -7,7 +7,7 @@ using System.Linq;
namespace Elwig.Models.Entities {
[Table("area_commitment_contract"), PrimaryKey("FbNr")]
public class AreaComContract {
public class AreaCmtContract {
[Column("fbnr")]
public int FbNr { get; set; }
@@ -58,11 +58,11 @@ namespace Elwig.Models.Entities {
[ForeignKey("KgNr, RdNr")]
public virtual WbRd? Rd { get; private set; }
[InverseProperty(nameof(AreaCom.Contract))]
public virtual ICollection<AreaCom> Revisions { get; private set; } = null!;
[InverseProperty(nameof(AreaCmt.Contract))]
public virtual ICollection<AreaCmt> Revisions { get; private set; } = null!;
[NotMapped]
public AreaCom? Latest => Revisions.OrderBy(r => r.RevNr).LastOrDefault();
public AreaCmt? Latest => Revisions.OrderBy(r => r.RevNr).LastOrDefault();
[NotMapped]
public int? YearFrom => Revisions.Any(r => r.YearFrom == null) ? null : Revisions.Min(r => r.YearFrom);
@@ -5,7 +5,7 @@ using IndexAttribute = Microsoft.EntityFrameworkCore.IndexAttribute;
namespace Elwig.Models.Entities {
[Table("area_commitment_type"), PrimaryKey("VtrgId"), Index("SortId", "AttrId", "Discriminator", IsUnique = true)]
public class AreaComType {
public class AreaCmtType {
[Column("vtrgid")]
public required string VtrgId { get; set; }
+3 -3
View File
@@ -199,10 +199,10 @@ namespace Elwig.Models.Entities {
[ForeignKey("ZwstId")]
public virtual Branch? Branch { get; private set; }
[InverseProperty(nameof(AreaCom.Member))]
public virtual ICollection<AreaCom> AreaCommitments { get; private set; } = null!;
[InverseProperty(nameof(AreaCmt.Member))]
public virtual ICollection<AreaCmt> AreaCommitments { get; private set; } = null!;
public IQueryable<AreaCom> ActiveAreaCommitments(AppDbContext ctx, int? year = null) {
public IQueryable<AreaCmt> ActiveAreaCommitments(AppDbContext ctx, int? year = null) {
return ctx.AreaCommitments.Where(c => c.MgNr == MgNr).Where(Utils.ActiveAreaCommitments(year ?? Utils.CurrentYear));
}