diff --git a/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor b/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor index be1b455..9db9672 100644 --- a/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor +++ b/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor @@ -1,7 +1,7 @@ 
@if (B_doorOpUpd || true) { - + @if (IsErr) { @@ -10,7 +10,7 @@ } else { - + } @**@ diff --git a/WebDoorCreator.UI/Components/DoorMan/DoorModal.razor b/WebDoorCreator.UI/Components/DoorMan/DoorModal.razor index cd8100b..60b549e 100644 --- a/WebDoorCreator.UI/Components/DoorMan/DoorModal.razor +++ b/WebDoorCreator.UI/Components/DoorMan/DoorModal.razor @@ -37,11 +37,11 @@
-
+ @*
-
+
*@
diff --git a/WebDoorCreator.UI/Components/DoorMan/DoorModal.razor.cs b/WebDoorCreator.UI/Components/DoorMan/DoorModal.razor.cs index 7c4d00e..3b6ec87 100644 --- a/WebDoorCreator.UI/Components/DoorMan/DoorModal.razor.cs +++ b/WebDoorCreator.UI/Components/DoorMan/DoorModal.razor.cs @@ -3,8 +3,10 @@ using Microsoft.CodeAnalysis.Text; using Microsoft.JSInterop; using WebDoorCreator.Data; using WebDoorCreator.Data.DbModels; +using WebDoorCreator.Data.DTO; using WebDoorCreator.Data.Services; using WebDoorCreator.UI.Data; +using static Org.BouncyCastle.Math.EC.ECCurve; using static System.Runtime.CompilerServices.RuntimeHelpers; namespace WebDoorCreator.UI.Components.DoorMan @@ -34,8 +36,16 @@ namespace WebDoorCreator.UI.Components.DoorMan protected async override Task OnInitializedAsync() { await Task.Delay(1); + string vers = config.GetValue("ConfDDF:VersNumber"); + bool remDoorOp = config.GetValue("ConfDDF:RemoveDoorOps"); + var headRows = config.GetSection("ConfDDF:Header").Get>(); + var footRows = config.GetSection("ConfDDF:Footer").Get>(); + currDdfConv = new WebDoorCreator.Data.DDF.Converter(vers, remDoorOp, headRows, footRows); } - + protected WebDoorCreator.Data.DDF.Converter currDdfConv { get; set; } = null!; + [Inject] + protected IConfiguration config { get; set; } = null!; + protected DDFDto CurrentConf { get; set; } = new DDFDto(); protected async Task closeModal() { await Task.Delay(1); @@ -90,6 +100,8 @@ namespace WebDoorCreator.UI.Components.DoorMan } } + protected int newDoorId { get; set; } = 0; + /// /// Clona la porta selezionata con annesse door operations /// @@ -107,7 +119,7 @@ namespace WebDoorCreator.UI.Components.DoorMan { var doorToAdd = door2Clone.ObjClone(userId); // salvo! - var newDoorId = await WDService.DoorInsert(doorToAdd); + newDoorId = await WDService.DoorInsert(doorToAdd); if (newDoorId != 0 && doorOps2Clone != null) { foreach (var item in doorOps2Clone) @@ -120,6 +132,7 @@ namespace WebDoorCreator.UI.Components.DoorMan var done = await WDService.DoorOpInsert(newDoorId, doorOps2Add); if (done) { + await doSave(); await closeModal(); } } @@ -127,6 +140,49 @@ namespace WebDoorCreator.UI.Components.DoorMan } } + protected List ordListVal { get; set; } = new List(); + + /// + /// Effettua salvataggio record e generazione DDF + /// + /// + protected async Task doSave() + { + List? listOpAll = await WDService.DoorOpGetByDoorId(newDoorId); + if (listOpAll != null) + { + List listOp = listOpAll.Where(x => x.userConfirm != "" && x.DtConfirm != null).ToList(); + if (listOp != null) + { + // chiamo metodo x avewre DDF serializzato + //var list2Ord = ; + var CurrentCompoOrder = await WDService.ListValuesGetAll("*", "Hardware"); + if (CurrentCompoOrder != null) + { + foreach (var item in CurrentCompoOrder.OrderBy(x => x.Ordinal).ToList()) + { + ordListVal.Add(item.TableName); + } + } + + listOp = listOp.OrderBy(d => ordListVal.IndexOf(d.ObjectId)).ToList(); + + string currDdf = currDdfConv.GetSerialized(listOp); + // FIXME TODO: si potrebbe eliminare in futuro che va su REDIS + //await SaveYaml(currDdf); + // versione corrente del DDF generato + int currVers = await QDataServ.SendCalcReq(newDoorId, currDdf); + + if (currVers > 0) + { + IsErr = false; + } + } + } + } + + + /// /// Path del servizio di recupero SVG delle porte /// diff --git a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs index 6757d97..4be87b8 100644 --- a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs +++ b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs @@ -156,6 +156,7 @@ namespace WebDoorCreator.UI.Components.Hardware protected async Task doCancel() { await FullReloadData(); + await InvokeAsync(StateHasChanged); } protected async Task doClone() diff --git a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.css b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.css index 1db664c..f2ebe11 100644 --- a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.css +++ b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.css @@ -39,7 +39,7 @@ border: 5px solid #00838F; z-index: 99999; background: #F1C40F; - transform: translate(16rem, 1rem); + transform: translate(20.3rem, 1rem); } .btnHighlight { border-radius: 50%; @@ -48,7 +48,7 @@ border: 5px solid #00838F; z-index: 99999; background: #03A9F4; - transform: translate(17.6rem, -8rem); + transform: translate(10.3rem, -8rem); } .btnCancel { border-radius: 50%; @@ -57,7 +57,7 @@ border: 5px solid #00838F; z-index: 99999; background: var(--colorCode); - transform: translate(-2rem, 1rem); + transform: translate(-7rem, 1rem); } .btnSave { border-radius: 50%; @@ -66,7 +66,7 @@ border: 5px solid #00838F; z-index: 99999; background: var(--colorCode); - transform: translate(-2.6rem, 1rem); + transform: translate(-7.5rem, 1rem); } .btnHeadTail { width: 100%; diff --git a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.less b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.less index 4b81b05..4712a02 100644 --- a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.less +++ b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.less @@ -30,23 +30,23 @@ .btnPDFPending { .btnGen; background: #F1C40F; - transform: translate(16rem, @yDelta); + transform: translate(20.3rem, 1rem); } .btnHighlight { .btnGen; background: #03A9F4; - transform: translate(17.6rem, -8rem); + transform: translate(10.3rem, -8rem); } .btnCancel { .btnGen; background: var(--colorCode); - transform: translate(-2rem, 1rem); + transform: translate(-7rem, 1rem); } .btnSave { .btnGen; background: var(--colorCode); - transform: translate(-2.6rem, 1rem); + transform: translate(-7.5rem, 1rem); } diff --git a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.min.css b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.min.css index 293fec7..34f6737 100644 --- a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.min.css +++ b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.min.css @@ -1 +1 @@ -.btnGen{border-radius:50%;width:3.5rem;height:3.5rem;border:5px solid #00838f;z-index:99999;}.btnDelete{border-radius:50%;width:3.5rem;height:3.5rem;border:5px solid #00838f;z-index:99999;background:#b71c1c;transform:translate(25px,-1rem);}.btnClone{border-radius:50%;width:3.5rem;height:3.5rem;border:5px solid #00838f;z-index:99999;background:#fff;transform:translate(1.6rem,-1rem);}.btnPDFSuccess{border-radius:50%;width:3.5rem;height:3.5rem;border:5px solid #00838f;z-index:99999;background:#8e44ad;transform:translate(1rem,1rem);}.btnPDFPending{border-radius:50%;width:3.5rem;height:3.5rem;border:5px solid #00838f;z-index:99999;background:#f1c40f;transform:translate(16rem,1rem);}.btnHighlight{border-radius:50%;width:3.5rem;height:3.5rem;border:5px solid #00838f;z-index:99999;background:#03a9f4;transform:translate(17.6rem,-8rem);}.btnCancel{border-radius:50%;width:3.5rem;height:3.5rem;border:5px solid #00838f;z-index:99999;background:var(--colorCode);transform:translate(-2rem,1rem);}.btnSave{border-radius:50%;width:3.5rem;height:3.5rem;border:5px solid #00838f;z-index:99999;background:var(--colorCode);transform:translate(-2.6rem,1rem);}.btnHeadTail{width:100%;padding:.8rem 0 .8rem 0;background:none;border:0;}.btnConfirm{width:100%;padding:.8rem 0 .8rem 0;background:none;border:0;border-bottom:3px solid #000;}.btnHead{width:100%;padding:.8rem 0 .8rem 0;background:none;border:0;}.borderTop{border-top:7px solid #00838f;}.borderBottom{border-bottom:7px solid #00838f;width:100%;}.modal-dialog{overflow-y:initial!important;}.modal-body{height:18.75rem;overflow-y:auto;}.testata{width:100%;}select,input{border:0;border-bottom:2px solid #000;background:none;height:2rem;}i{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;font-size:1.1rem;} \ No newline at end of file +.btnGen{border-radius:50%;width:3.5rem;height:3.5rem;border:5px solid #00838f;z-index:99999;}.btnDelete{border-radius:50%;width:3.5rem;height:3.5rem;border:5px solid #00838f;z-index:99999;background:#b71c1c;transform:translate(25px,-1rem);}.btnClone{border-radius:50%;width:3.5rem;height:3.5rem;border:5px solid #00838f;z-index:99999;background:#fff;transform:translate(1.6rem,-1rem);}.btnPDFSuccess{border-radius:50%;width:3.5rem;height:3.5rem;border:5px solid #00838f;z-index:99999;background:#8e44ad;transform:translate(1rem,1rem);}.btnPDFPending{border-radius:50%;width:3.5rem;height:3.5rem;border:5px solid #00838f;z-index:99999;background:#f1c40f;transform:translate(20.3rem,1rem);}.btnHighlight{border-radius:50%;width:3.5rem;height:3.5rem;border:5px solid #00838f;z-index:99999;background:#03a9f4;transform:translate(10.3rem,-8rem);}.btnCancel{border-radius:50%;width:3.5rem;height:3.5rem;border:5px solid #00838f;z-index:99999;background:var(--colorCode);transform:translate(-7rem,1rem);}.btnSave{border-radius:50%;width:3.5rem;height:3.5rem;border:5px solid #00838f;z-index:99999;background:var(--colorCode);transform:translate(-7.5rem,1rem);}.btnHeadTail{width:100%;padding:.8rem 0 .8rem 0;background:none;border:0;}.btnConfirm{width:100%;padding:.8rem 0 .8rem 0;background:none;border:0;border-bottom:3px solid #000;}.btnHead{width:100%;padding:.8rem 0 .8rem 0;background:none;border:0;}.borderTop{border-top:7px solid #00838f;}.borderBottom{border-bottom:7px solid #00838f;width:100%;}.modal-dialog{overflow-y:initial!important;}.modal-body{height:18.75rem;overflow-y:auto;}.testata{width:100%;}select,input{border:0;border-bottom:2px solid #000;background:none;height:2rem;}i{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;font-size:1.1rem;} \ No newline at end of file diff --git a/WebDoorCreator.UI/Pages/DoorDefinition.razor b/WebDoorCreator.UI/Pages/DoorDefinition.razor index 96012a8..509b839 100644 --- a/WebDoorCreator.UI/Pages/DoorDefinition.razor +++ b/WebDoorCreator.UI/Pages/DoorDefinition.razor @@ -8,15 +8,15 @@
*@
- - - - - @**@ - - - + @* + + + + @* + + + *@
@@ -24,23 +24,36 @@
- @if (currDefStep == 10) - { - @if (ListBaseDoorOp != null) - { + + + + + @**@ + @if (orderStatus != null) + { + + } + @if (currDefStep == 10) + { + @if (ListBaseDoorOp != null) + { - - } - @**@ - } - else if (currDefStep == 20) - { - - } - else if (currDefStep == 30) - { - - } + + } + @**@ + } + else if (currDefStep == 20) + { + + } + else if (currDefStep == 30) + { + + } + + + +