|
@@ -81,7 +81,11 @@ namespace PRSDesktop
|
|
|
|
|
|
public void Refresh()
|
|
|
{
|
|
|
- Orders.Refresh(false, true);
|
|
|
+ if (CheckSaved())
|
|
|
+ {
|
|
|
+ Orders.Refresh(false, true);
|
|
|
+ SetChanged(false);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public void Setup()
|
|
@@ -124,6 +128,10 @@ namespace PRSDesktop
|
|
|
|
|
|
private void CheckSaved(CancelEventArgs cancel)
|
|
|
{
|
|
|
+ if(_orders is null || !_orders.Any(x => x.IsChanged()))
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
var result = MessageBox.Show("You have an unsaved Purchase Order; do you wish to save these changes?", "Save Changes?", MessageBoxButton.YesNoCancel);
|
|
|
if (result == MessageBoxResult.Yes)
|
|
|
{
|
|
@@ -147,7 +155,7 @@ namespace PRSDesktop
|
|
|
|
|
|
public void Shutdown(CancelEventArgs? cancel)
|
|
|
{
|
|
|
- if(_orders is not null && cancel is not null && _orders.Any(x => x.IsChanged()))
|
|
|
+ if(cancel is not null)
|
|
|
{
|
|
|
CheckSaved(cancel);
|
|
|
}
|
|
@@ -248,6 +256,13 @@ namespace PRSDesktop
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void SetChanged(bool changed)
|
|
|
+ {
|
|
|
+ bChanged = changed;
|
|
|
+ Orders.IsEnabled = !changed;
|
|
|
+ PurchaseOrder.HideButtons = !changed;
|
|
|
+ }
|
|
|
+
|
|
|
private void PurchaseOrder_OnOK()
|
|
|
{
|
|
|
using (new WaitCursor())
|
|
@@ -258,9 +273,7 @@ namespace PRSDesktop
|
|
|
if (!cancel.Cancel)
|
|
|
{
|
|
|
ReloadOrders();
|
|
|
- bChanged = false;
|
|
|
- Orders.IsEnabled = true;
|
|
|
- PurchaseOrder.HideButtons = true;
|
|
|
+ SetChanged(false);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -268,17 +281,13 @@ namespace PRSDesktop
|
|
|
private void PurchaseOrder_OnCancel()
|
|
|
{
|
|
|
ReloadOrders();
|
|
|
- bChanged = false;
|
|
|
- Orders.IsEnabled = true;
|
|
|
- PurchaseOrder.HideButtons = true;
|
|
|
+ SetChanged(false);
|
|
|
}
|
|
|
|
|
|
private bool bChanged = false;
|
|
|
private void PurchaseOrder_OnOnChanged(object? sender, EventArgs e)
|
|
|
{
|
|
|
- Orders.IsEnabled = false;
|
|
|
- PurchaseOrder.HideButtons = false;
|
|
|
- bChanged = true;
|
|
|
+ SetChanged(true);
|
|
|
}
|
|
|
}
|
|
|
}
|