AppDbContext: Cleanup UpdateDeliveryPartModifiers()
This commit is contained in:
@ -236,20 +236,21 @@ namespace Elwig.Helpers {
|
||||
return await WineQualityLevels
|
||||
.Where(q => !q.IsPredicate && (q.MinKmw == null || q.MinKmw <= kmw))
|
||||
.OrderBy(q => q.MinKmw)
|
||||
.LastOrDefaultAsync();
|
||||
.LastAsync();
|
||||
}
|
||||
|
||||
public async Task UpdateDeliveryPartModifiers(DeliveryPart part, IEnumerable<Modifier> modifiers) {
|
||||
public void UpdateDeliveryPartModifiers(DeliveryPart part, IEnumerable<Modifier> modifiers) {
|
||||
foreach (var m in Modifiers.Where(m => m.Year == part.Year)) {
|
||||
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;
|
||||
var dpm = new DeliveryPartModifier {
|
||||
Year = part.Year,
|
||||
DId = part.DId,
|
||||
DPNr = part.DPNr,
|
||||
ModId = m.ModId,
|
||||
};
|
||||
if (mod == null) {
|
||||
await AddAsync(dpm);
|
||||
Add(dpm);
|
||||
} else {
|
||||
Update(dpm);
|
||||
}
|
||||
|
@ -975,7 +975,7 @@ namespace Elwig.Windows {
|
||||
pEntry = partNew ? await Context.AddAsync(p) : Context.Update(p);
|
||||
}
|
||||
|
||||
await Context.UpdateDeliveryPartModifiers(p, ModifiersInput.SelectedItems.Cast<Modifier>());
|
||||
Context.UpdateDeliveryPartModifiers(p, ModifiersInput.SelectedItems.Cast<Modifier>());
|
||||
|
||||
if (originalMgNr != null && originalMgNr.Value != d.MgNr) {
|
||||
// update origin (KgNr), if default is selected
|
||||
@ -1274,7 +1274,7 @@ namespace Elwig.Windows {
|
||||
p2.HkId = "OEST";
|
||||
entry2 = await Context.AddAsync(p2);
|
||||
|
||||
await Context.UpdateDeliveryPartModifiers(p2, p.Modifiers);
|
||||
Context.UpdateDeliveryPartModifiers(p2, p.Modifiers);
|
||||
}
|
||||
await Context.SaveChangesAsync();
|
||||
await RefreshDeliveryParts();
|
||||
|
Reference in New Issue
Block a user