diff --git a/WebDoorCreator.UI/Components/DoorDef/BaseParamList.razor.cs b/WebDoorCreator.UI/Components/DoorDef/BaseParamList.razor.cs index 7c63b62..1d3b2c5 100644 --- a/WebDoorCreator.UI/Components/DoorDef/BaseParamList.razor.cs +++ b/WebDoorCreator.UI/Components/DoorDef/BaseParamList.razor.cs @@ -14,6 +14,9 @@ namespace WebDoorCreator.UI.Components.DoorDef [Parameter] public List? CurrBaseDoorOp { get; set; } = null; + [Parameter] + public EventCallback> E_DoorOps2Mod { get; set; } + [Inject] protected WebDoorCreatorService WDService { get; set; } = null!; @@ -32,14 +35,20 @@ namespace WebDoorCreator.UI.Components.DoorDef if (savingDoorOp != null) { paramsChanged = true; - DoorOp2Save = savingDoorOp; - await doSaveDoorOp(); + var doorOp2Rem = DoorOp2Save.Where(x => x.DoorOpId == savingDoorOp.DoorOpId).FirstOrDefault(); + if (doorOp2Rem != null) + { + DoorOp2Save.Remove(doorOp2Rem); + } + DoorOp2Save.Add(savingDoorOp); + //await doSaveDoorOp(); + StateHasChanged(); } } protected async Task doSaveDoorOp() { - if(DoorOp2Save != null) + if (DoorOp2Save != null) { var done = await WDService.DoorOpUpdate(DoorOp2Save); if (done) @@ -53,7 +62,7 @@ namespace WebDoorCreator.UI.Components.DoorDef protected bool paramsChanged { get; set; } = false; - protected DoorOpModel? DoorOp2Save { get; set; } + protected List DoorOp2Save { get; set; } = new List(); #endregion Protected Properties } diff --git a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs index fd2d7a3..38acc6e 100644 --- a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs +++ b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs @@ -151,7 +151,10 @@ namespace WebDoorCreator.UI.Components.Hardware { DoorOpInst.userConfirm = userId; DoorOpInst.DtConfirm = DateTime.Now; - await WDCService.DoorOpUpdate(DoorOpInst); + + var doorOps2Save = new List() { DoorOpInst }; + + await WDCService.DoorOpUpdate(doorOps2Save); // salvo i NUOVI valori... DoorOpInst.CurrVals = currVal; DoorOpInst.GraphicParams = graphicParams; @@ -176,7 +179,8 @@ namespace WebDoorCreator.UI.Components.Hardware DoorOpInst.CurrVals = currVal; DoorOpInst.GraphicParams = graphicParams; // salvo! - await WDCService.DoorOpUpdate(DoorOpInst); + var doorOps2Save = new List() { DoorOpInst }; + await WDCService.DoorOpUpdate(doorOps2Save); // invio msg dato "salvabile" // rileggo await FullReloadData();