protected override void btnAnnul_Clicked(object o, EventArgs args) { if (Message.ShowDialog(GetAnnulTitle(), string.Empty, GetAnnulQuestion(), "Icons.Question32.png", MessageButtons.YesNo) != ResponseType.Yes) { return; } string error; string warning; if (!BusinessDomain.CanAnnulOperation(SelectedItem, out error, out warning)) { if (warning != null) { if (MessageError.ShowDialog(warning, buttons: MessageButtons.YesNo) != ResponseType.Yes) { return; } } else { MessageError.ShowDialog(error); return; } } try { AnnulOperation(); GetEntities(); grid.Model = entities; if (btnPreview.Active) { previewWidget.LoadOperation(SelectedItem); } } catch (ArgumentException) { } catch (InsufficientItemAvailabilityException ex) { if (btnPreview.Active) { previewWidget.LoadOperation(SelectedItem); } MessageError.ShowDialog(string.Format(Translator.GetString("The operation cannot be annulled " + "because the annulment will cause negative availability of item \"{0}\"."), ex.ItemName), ErrorSeverity.Warning, ex); } }
public override void Annul() { if (!CheckIsNewFormat()) { return; } string error; string warning; if (BusinessDomain.CanAnnulOperation(this, out error, out warning)) { LoadDetails(); ClearDetails(); Commit(GetPriceGroup(-1, locationId), true); } else if (warning != null) { BusinessDomain.RequestOperationAnnul(this); } }