DeliveryAdminWindow: Update KGNr when MgNr changes
This commit is contained in:
@ -119,7 +119,7 @@ namespace Elwig.Windows {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void Menu_Export_Bki_Click(object sender, RoutedEventArgs evt) {
|
private void Menu_Export_Bki_Click(object sender, RoutedEventArgs evt) {
|
||||||
|
// TODO export Traubentransportscheinliste
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnSecondPassed(object? sender, EventArgs? evt) {
|
private void OnSecondPassed(object? sender, EventArgs? evt) {
|
||||||
@ -483,6 +483,8 @@ namespace Elwig.Windows {
|
|||||||
private async Task<DeliveryPart> UpdateDeliveryPart(Delivery? d, DeliveryPart? p) {
|
private async Task<DeliveryPart> UpdateDeliveryPart(Delivery? d, DeliveryPart? p) {
|
||||||
int year, did, dpnr;
|
int year, did, dpnr;
|
||||||
bool deliveryNew = (d == null), partNew = (p == null);
|
bool deliveryNew = (d == null), partNew = (p == null);
|
||||||
|
var originalMgNr = d?.MgNr;
|
||||||
|
var originalMemberKgNr = d?.Member?.DefaultKgNr;
|
||||||
if (d == null) {
|
if (d == null) {
|
||||||
d = Context.CreateProxy<Delivery>();
|
d = Context.CreateProxy<Delivery>();
|
||||||
year = Utils.CurrentNextSeason;
|
year = Utils.CurrentNextSeason;
|
||||||
@ -538,8 +540,6 @@ namespace Elwig.Windows {
|
|||||||
if (ManualWeighingReason != null)
|
if (ManualWeighingReason != null)
|
||||||
p.Comment = (p.Comment != null ? $"{p.Comment} / " : "") + $"Begründung Handwiegung: {ManualWeighingReason}";
|
p.Comment = (p.Comment != null ? $"{p.Comment} / " : "") + $"Begründung Handwiegung: {ManualWeighingReason}";
|
||||||
|
|
||||||
// TODO update KgNr when MgNr changes (if default is selected)
|
|
||||||
|
|
||||||
EntityEntry<Delivery>? dEntry = null;
|
EntityEntry<Delivery>? dEntry = null;
|
||||||
EntityEntry<DeliveryPart>? pEntry = null;
|
EntityEntry<DeliveryPart>? pEntry = null;
|
||||||
try {
|
try {
|
||||||
@ -554,6 +554,15 @@ namespace Elwig.Windows {
|
|||||||
await Context.UpdateDeliveryPartAttributes(p, AttributesInput.ItemsSource.Cast<WineAttr>());
|
await Context.UpdateDeliveryPartAttributes(p, AttributesInput.ItemsSource.Cast<WineAttr>());
|
||||||
await Context.UpdateDeliveryPartModifiers(p, ModifiersInput.ItemsSource.Cast<Modifier>());
|
await Context.UpdateDeliveryPartModifiers(p, ModifiersInput.ItemsSource.Cast<Modifier>());
|
||||||
|
|
||||||
|
if (originalMgNr != null && originalMgNr.Value != d.MgNr) {
|
||||||
|
// update origin (KgNr), if default is selected
|
||||||
|
var newKgNr = (await Context.Members.FindAsync(d.MgNr))?.DefaultKgNr;
|
||||||
|
foreach (var part in d.Parts.Where(part => part.DPNr != dpnr && part.KgNr == originalMemberKgNr)) {
|
||||||
|
part.KgNr = newKgNr;
|
||||||
|
Context.Update(part);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
await Context.SaveChangesAsync();
|
await Context.SaveChangesAsync();
|
||||||
} catch (Exception exc) {
|
} catch (Exception exc) {
|
||||||
if (dEntry != null) {
|
if (dEntry != null) {
|
||||||
|
Reference in New Issue
Block a user