public override async Task OnBeforeAddLineAsync(BeforeAddLineEventArgs e) { IEditEntry editEntryQ = Controls.OfType<IEditEntry>().FirstOrDefault(c => c.Source?.Equals("line|q", StringComparison.InvariantCultureIgnoreCase) ?? false); if (!await Dialogs.AnswerYesNo(Page, $"Wilt u echt een lijn toevoegen met het artikel \"{e.EntryArt.TargetSigLabel.Text}\" en Q = {editEntryQ.Text}?")) { e.CancelAddLine = true; } } public override async Task OnAfterAddLineAsync(AfterAddLineEventArgs e) { await Dialogs.Stop(Page, $"Lijn nr. {e.Ligne.Table.Rows.Count} werd succesvol toegevoegd! Het bevat het artikel \"{e.Ligne["designatio"]}\"."); } public override async Task OnBeforeDeleteLineAsync(BeforeDeleteLineEventArgs e) { if (!await Dialogs.AnswerYesNo(Page, $"Wilt u deze lijn {e.Ligne["id_article"]} op deze picking echt verwijderen?")) { e.CancelDeleteLine = true; } } public override async void OnAfterDeleteLine(AfterDeleteLineEventArgs e) { await Dialogs.Stop(Page, $"De lijn werd succesvol verwijderd!"); } public override async Task OnBeforeChangeLineAsync(BeforeChangeLineEventArgs e) { if (!await Dialogs.AnswerYesNo(Page, $"Wilt u de kolom {e.ColumnToChange} van deze lijn {e.Line["id_article"]} echt wijzigen met deze nieuwe waarde {e.NewValue}?")) { e.CancelChangeLine = true; } }