Add AbwertenDialog

This commit is contained in:
2023-08-26 20:54:25 +02:00
parent c0a6f16374
commit 6dda9e09cf
7 changed files with 213 additions and 58 deletions

View File

@ -8,6 +8,7 @@ using System.Windows;
using Microsoft.Extensions.Logging;
using Microsoft.Data.Sqlite;
using System.Text.RegularExpressions;
using System.Collections.Generic;
namespace Elwig.Helpers {
public class AppDbContext : DbContext {
@ -157,5 +158,49 @@ namespace Elwig.Helpers {
.OrderBy(q => q.MinKmw)
.LastOrDefaultAsync();
}
public async Task UpdateDeliveryPartAttributes(DeliveryPart part, IEnumerable<WineAttr> attributes) {
foreach (var a in attributes) {
var attr = part.PartAttributes.Where(pa => pa.AttrId == a.AttrId).FirstOrDefault();
if (attributes.Contains(a)) {
DeliveryPartAttr dpa = attr ?? this.CreateProxy<DeliveryPartAttr>();
dpa.Year = part.Year;
dpa.DId = part.DId;
dpa.DPNr = part.DPNr;
dpa.AttrId = a.AttrId;
if (attr == null) {
await AddAsync(dpa);
} else {
Update(dpa);
}
} else {
if (attr != null) {
Remove(attr);
}
}
}
}
public async Task UpdateDeliveryPartModifiers(DeliveryPart part, IEnumerable<Modifier> modifiers) {
foreach (var m in modifiers) {
var mod = part.PartModifiers.Where(pa => pa.ModId == m.ModId).FirstOrDefault();
if (modifiers.Contains(m)) {
DeliveryPartModifier dpm = mod ?? this.CreateProxy<DeliveryPartModifier>();
dpm.Year = part.Year;
dpm.DId = part.DId;
dpm.DPNr = part.DPNr;
dpm.ModId = m.ModId;
if (mod == null) {
await AddAsync(dpm);
} else {
Update(dpm);
}
} else {
if (mod != null) {
Remove(mod);
}
}
}
}
}
}