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)
+ {
+
+ }
+
+
+
+