*@
-
-
- @*
-
-
-
-
-
*@
+ @if (HasChanged())
+ {
+
+
+
+
+
+
+
+
+ }
}
diff --git a/Lux.UI/Components/Compo/OfferDelivery.razor.cs b/Lux.UI/Components/Compo/OfferDelivery.razor.cs
index dd322a33..339a101e 100644
--- a/Lux.UI/Components/Compo/OfferDelivery.razor.cs
+++ b/Lux.UI/Components/Compo/OfferDelivery.razor.cs
@@ -1,3 +1,4 @@
+using EgwCoreLib.Lux.Core;
using EgwCoreLib.Lux.Data.DbModel.Sales;
using Microsoft.AspNetCore.Components;
@@ -18,9 +19,28 @@ namespace Lux.UI.Components.Compo
#endregion Public Properties
+ #region Protected Methods
+
+ ///
+ /// Chiamato automaticamente all'inizializzazione del componente.
+ ///
+ protected override Task OnInitializedAsync()
+ {
+ setOriginal();
+ return base.OnInitializedAsync();
+ }
+
+ protected override void OnParametersSet()
+ {
+ setOriginal();
+ }
+
+ #endregion Protected Methods
+
#region Private Fields
private bool isLoading = false;
+ private OfferModel? OrigRecord = null;
#endregion Private Fields
@@ -37,6 +57,38 @@ namespace Lux.UI.Components.Compo
return EC_Updated.InvokeAsync(CurrRecord);
}
+ private bool HasChanged()
+ {
+ bool answ = false;
+ if (OrigRecord != null && CurrRecord != null)
+ {
+ if (IsChanged(OrigRecord.DueDateReq, CurrRecord.DueDateReq))
+ return true;
+ if (IsChanged(OrigRecord.DueDateProm, CurrRecord.DueDateProm))
+ return true;
+ if (IsChanged(OrigRecord.ConsNote, CurrRecord.ConsNote))
+ return true;
+ }
+ return answ;
+ }
+
+ ///
+ /// Verifica variazione tramite helper
+ ///
+ ///
+ ///
+ ///
+ ///
+ private bool IsChanged
(T original, T edited) => CloneExtensions.IsChanged(original, edited);
+
+ private void setOriginal()
+ {
+ if (CurrRecord != null && OrigRecord == null)
+ {
+ OrigRecord = CurrRecord.DeepClone();
+ }
+ }
+
#endregion Private Methods
}
}
\ No newline at end of file
diff --git a/Lux.UI/Components/Pages/Offers.razor.cs b/Lux.UI/Components/Pages/Offers.razor.cs
index f6446e60..2ce7f3e6 100644
--- a/Lux.UI/Components/Pages/Offers.razor.cs
+++ b/Lux.UI/Components/Pages/Offers.razor.cs
@@ -260,8 +260,17 @@ namespace Lux.UI.Components.Pages
// salvo record
await OffService.UpsertAsync(updRec);
// cambio step
- CompileStep nextStep = currStep < CompileStep.FinalCheck ? currStep + 1 : currStep;
- AdvStep(nextStep);
+ CompileStep nextStep = new CompileStep();
+ if (currStep < CompileStep.Delivery)
+ {
+ nextStep = currStep + 1;
+ AdvStep(nextStep);
+ }
+ else
+ {
+ EditRecord = null;
+ }
+ //CompileStep nextStep = currStep < CompileStep.Delivery ? currStep + 1 : currStep;
}
private void DoSelect(OfferModel curRec)