+ @*
@(translate(HwLabel))
hwToAdd()">
+
*@
+
+
+
@foreach (var item in DoorOpList)
{
-
+
}
diff --git a/WebDoorCreator.UI/Components/Hardware/HardwareNewPanel.razor.cs b/WebDoorCreator.UI/Components/Hardware/HardwareNewPanel.razor.cs
index 91932b5..d145ebd 100644
--- a/WebDoorCreator.UI/Components/Hardware/HardwareNewPanel.razor.cs
+++ b/WebDoorCreator.UI/Components/Hardware/HardwareNewPanel.razor.cs
@@ -29,9 +29,13 @@ namespace WebDoorCreator.UI.Components.Hardware
[Parameter]
public string HwCode { get; set; } = "";
+
[Parameter]
public string HwLabel { get; set; } = "";
+ [Parameter]
+ public int HwInst { get; set; } = 0;
+
[Parameter]
public string Lingua { get; set; } = "EN";
[CascadingParameter]
@@ -46,7 +50,17 @@ namespace WebDoorCreator.UI.Components.Hardware
protected List
? DoorOpList { get; set; } = null!;
protected List DoorOp2ModList { get; set; } = new List();
- protected int instNum { get; set; } = 1;
+ //protected int instNum { get; set; } = 1;
+
+ protected int getDoorOpInstNum(int doorOpId)
+ {
+ int answ = 0;
+ if (DoorOpList != null)
+ {
+ answ = DoorOpList.FindIndex(x => x.DoorOpId == doorOpId);
+ }
+ return answ + 1;
+ }
[Inject]
protected WDCRefreshService WDCRefresh { get; set; } = null!;
@@ -98,7 +112,7 @@ namespace WebDoorCreator.UI.Components.Hardware
[Inject]
protected WDCRefreshService WDCRService { get; set; } = null!;
- protected async Task hwToAdd()
+ protected async Task hwToAdd(string message)
{
await Task.Delay(1);
DateTime adesso = DateTime.Now;
@@ -106,99 +120,97 @@ namespace WebDoorCreator.UI.Components.Hardware
if (HwCode != null)
{
- if (DoorOp2ModList.Count == 0)
+ var listRecordFolder = await WDCService.ListValuesGetAll(HwCode, "Folder");
+ var listRecordTmp = await WDCService.ListValuesGetAll(HwCode, "template");
+ if (listRecordTmp!.Count == 0)
{
- var listRecordFolder = await WDCService.ListValuesGetAll(HwCode, "Folder");
- var listRecordTmp = await WDCService.ListValuesGetAll(HwCode, "template");
- if (listRecordTmp!.Count == 0)
- {
- listRecordTmp = await WDCService.ListValuesGetAll(HwCode, "shape");
- }
- Dictionary> defaultDict = new Dictionary>();
- List listDefVal = new List();
- Dictionary actDict = new Dictionary();
- List defaultParamsList = new List();
- string default2Design = "";
+ listRecordTmp = await WDCService.ListValuesGetAll(HwCode, "shape");
+ }
+ Dictionary> defaultDict = new Dictionary>();
+ List listDefVal = new List();
+ Dictionary actDict = new Dictionary();
+ List defaultParamsList = new List();
+ string default2Design = "";
- if (listRecordFolder != null)
+ if (listRecordFolder != null)
+ {
+ var firstFolder = listRecordFolder.FirstOrDefault();
+ if (firstFolder != null)
{
- var firstFolder = listRecordFolder.FirstOrDefault();
- if (firstFolder != null)
+ actDict.Add(firstFolder.FieldName, firstFolder.Value.Trim());
+ if (listRecordTmp != null)
{
- actDict.Add(firstFolder.FieldName, firstFolder.Value.Trim());
- if (listRecordTmp != null)
+ var listRecordTemplates = listRecordTmp.Where(x => x.Value.Contains(firstFolder.Value)).ToList();
+ if (listRecordTemplates != null)
{
- var listRecordTemplates = listRecordTmp.Where(x => x.Value.Contains(firstFolder.Value)).ToList();
- if (listRecordTemplates != null)
+ var firstTemplate = listRecordTemplates.FirstOrDefault();
+ if (firstTemplate != null)
{
- var firstTemplate = listRecordTemplates.FirstOrDefault();
- if (firstTemplate != null)
+ if (firstTemplate.DefaultVal != "")
{
- if (firstTemplate.DefaultVal != "")
- {
- default2Design = firstTemplate.DefaultVal;
- }
- else
- {
- default2Design = "1";
- }
-
- actDict.Add(firstTemplate.FieldName, firstTemplate.Value.Trim());
- }
- }
- }
- }
- var listRecordGP = await WDCService.ListValuesGetAll(HwCode, $"Graphic Parameters{default2Design}");
- if (listRecordGP != null)
- {
- foreach (var item in listRecordGP)
- {
- if (item.isSerializable && item.DefaultVal.Contains(","))
- {
- listDefVal = item.DefaultVal.Trim().Split(",").ToList();
- actDict.Add(item.Value.Trim(), item.DefaultVal.Trim().Split(",")[0].Split("/")[0]);
- }
- else
- {
- if (item.DefaultVal.Contains("/"))
- {
- listDefVal = new List() { item.DefaultVal.Trim().Split("/")[0] };
- actDict.Add(item.Value.Trim(), item.DefaultVal.Trim().Split("/")[0]);
+ default2Design = firstTemplate.DefaultVal;
}
else
{
- listDefVal = new List() { item.DefaultVal.Trim() };
- actDict.Add(item.Value.Trim(), item.DefaultVal.Trim());
+ default2Design = "1";
}
+
+ actDict.Add(firstTemplate.FieldName, firstTemplate.Value.Trim());
}
- //defaultParamsList.Add(listDefVal);
- defaultDict.Add(item.Value.Trim(), listDefVal);
}
- //actDict.Add(HwToShow.TableName, actParamsList);
-
- var jsonDef = JsonConvert.SerializeObject(defaultDict);
- var jsonAct = JsonConvert.SerializeObject(actDict);
-
- DoorOpModel doorOpToAdd = new DoorOpModel()
+ }
+ }
+ var listRecordGP = await WDCService.ListValuesGetAll(HwCode, $"Graphic Parameters{default2Design}");
+ if (listRecordGP != null)
+ {
+ foreach (var item in listRecordGP)
+ {
+ if (item.isSerializable && item.DefaultVal.Contains(","))
{
- DateIns = adesso,
- DateMod = adesso,
- UserIdIns = UserId,
- UserIdMod = UserId,
- ObjectId = HwCode,
- DoorId = DoorId,
- JsoncConfigVal = jsonDef,
- JsoncActVal = jsonAct
- };
- listOp.Add(doorOpToAdd);
- // salvo Door OP associate
- bool fatto = await WDCService.DoorOpInsert(DoorId, listOp);
-
- if (fatto)
- {
- //hwAdd = fatto;
- await InvokeAsync(StateHasChanged);
+ listDefVal = item.DefaultVal.Trim().Split(",").ToList();
+ actDict.Add(item.Value.Trim(), item.DefaultVal.Trim().Split(",")[0].Split("/")[0]);
}
+ else
+ {
+ if (item.DefaultVal.Contains("/"))
+ {
+ listDefVal = new List() { item.DefaultVal.Trim().Split("/")[0] };
+ actDict.Add(item.Value.Trim(), item.DefaultVal.Trim().Split("/")[0]);
+ }
+ else
+ {
+ listDefVal = new List() { item.DefaultVal.Trim() };
+ actDict.Add(item.Value.Trim(), item.DefaultVal.Trim());
+ }
+ }
+ //defaultParamsList.Add(listDefVal);
+ defaultDict.Add(item.Value.Trim(), listDefVal);
+ }
+ //actDict.Add(HwToShow.TableName, actParamsList);
+
+ var jsonDef = JsonConvert.SerializeObject(defaultDict);
+ var jsonAct = JsonConvert.SerializeObject(actDict);
+
+ DoorOpModel doorOpToAdd = new DoorOpModel()
+ {
+ DateIns = adesso,
+ DateMod = adesso,
+ UserIdIns = UserId,
+ UserIdMod = UserId,
+ ObjectId = HwCode,
+ DoorId = DoorId,
+ JsoncConfigVal = jsonDef,
+ JsoncActVal = jsonAct
+ };
+ listOp.Add(doorOpToAdd);
+ // salvo Door OP associate
+ bool fatto = await WDCService.DoorOpInsert(DoorId, listOp);
+
+ if (fatto)
+ {
+ //hwAdd = fatto;
+ //await InvokeAsync(StateHasChanged);
+ await ReloadData();
}
}
}
diff --git a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs
index c8d354e..e537712 100644
--- a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs
+++ b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs
@@ -160,7 +160,7 @@ namespace WebDoorCreator.UI.Components.Hardware
protected async Task doClone()
{
- var doorOpToAdd = DoorOpInst.ObjClone(userId);
+ var doorOpToAdd = DoorOpInst.ObjClone(userId, 0);
List doorOpAddList = new List() { doorOpToAdd };
// salvo!
diff --git a/WebDoorCreator.UI/Components/SvgComp/DoorSvgObj.razor b/WebDoorCreator.UI/Components/SvgComp/DoorSvgObj.razor
index 9a79579..9dcdf66 100644
--- a/WebDoorCreator.UI/Components/SvgComp/DoorSvgObj.razor
+++ b/WebDoorCreator.UI/Components/SvgComp/DoorSvgObj.razor
@@ -5,10 +5,10 @@
@foreach (var item in TextData)
{
-
+
@item.Key
-
+
@item.Value
}
diff --git a/WebDoorCreator.UI/Components/SvgComp/HwSvgObj.razor.cs b/WebDoorCreator.UI/Components/SvgComp/HwSvgObj.razor.cs
index d5b65cf..40ad5ef 100644
--- a/WebDoorCreator.UI/Components/SvgComp/HwSvgObj.razor.cs
+++ b/WebDoorCreator.UI/Components/SvgComp/HwSvgObj.razor.cs
@@ -63,7 +63,7 @@ namespace WebDoorCreator.UI.Components.SvgComp
public int ObjH { get; set; } = 204;
[Parameter]
- public int ObjId { get; set; } = 0;
+ public string ObjId { get; set; } = "0";
[Parameter]
public int ObjW { get; set; } = 450;
diff --git a/WebDoorCreator.UI/Data/WebDoorCreatorService.cs b/WebDoorCreator.UI/Data/WebDoorCreatorService.cs
index ae29410..5fa7afb 100644
--- a/WebDoorCreator.UI/Data/WebDoorCreatorService.cs
+++ b/WebDoorCreator.UI/Data/WebDoorCreatorService.cs
@@ -2133,6 +2133,14 @@ namespace WebDoorCreator.UI.Data
return answ;
}
+ public async Task
FlushCustomPattern(string keyWord)
+ {
+ await Task.Delay(1);
+ RedisValue pattern = new RedisValue($"{Constants.redisBaseAddr}:{keyWord}");
+ bool answ = await ExecFlushRedisPattern(pattern);
+ return answ;
+ }
+
#endregion Private Methods
}
}
\ No newline at end of file
diff --git a/WebDoorCreator.UI/Pages/Utils.razor b/WebDoorCreator.UI/Pages/Utils.razor
new file mode 100644
index 0000000..ad30d4c
--- /dev/null
+++ b/WebDoorCreator.UI/Pages/Utils.razor
@@ -0,0 +1,31 @@
+@page "/Utils"
+
+
+
+
+
+
+ @if (done)
+ {
+
DONE!!!!
+ }
+
+
+
+
+
+
+ @if (keyWord != "")
+ {
+
+ }
+ else
+ {
+
+
+ }
+
+
+
+
+
diff --git a/WebDoorCreator.UI/Pages/Utils.razor.cs b/WebDoorCreator.UI/Pages/Utils.razor.cs
new file mode 100644
index 0000000..91012e5
--- /dev/null
+++ b/WebDoorCreator.UI/Pages/Utils.razor.cs
@@ -0,0 +1,149 @@
+using Microsoft.AspNetCore.Components;
+using WebDoorCreator.Data.DbModels;
+using WebDoorCreator.Data.Services;
+using WebDoorCreator.UI.Data;
+
+namespace WebDoorCreator.UI.Pages
+{
+ public partial class Utils
+ {
+ protected List? DoorOpsList { get; set; }
+
+ protected List DoorsList { get; set; } = new List();
+
+ protected List? OrdersList { get; set; }
+
+ protected List ordListVal { get; set; } = new List();
+ protected List listOp { get; set; } = new List();
+ protected List listOpAll { get; set; } = new List();
+
+ [Inject]
+ protected QueueDataService QDataServ { get; set; } = null!;
+
+ [Inject]
+ protected WebDoorCreatorService WDCService { get; set; } = null!;
+ protected async Task doorsGetAll()
+ {
+ await ordersGetAll();
+ if (OrdersList != null)
+ {
+ foreach (var item in OrdersList)
+ {
+ var doors2Add = await WDCService.DoorGetByOrderId(item.OrderId);
+ if (doors2Add != null)
+ {
+ foreach (var door in doors2Add)
+ {
+ DoorsList.Add(door);
+ }
+ }
+ }
+ }
+
+ }
+ protected bool done { get; set; } = false;
+
+ [Inject]
+ protected IConfiguration config { get; set; } = null!;
+
+ protected override void OnInitialized()
+ {
+ base.OnInitialized();
+ 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!;
+ ///
+ /// Effettua salvataggio record e generazione DDF
+ ///
+ ///
+ protected async Task doSave()
+ {
+ await doorsGetAll();
+
+ if (DoorsList != null)
+ {
+ foreach (var door in DoorsList)
+ {
+ await Task.Delay(50);
+ listOpAll = await WDCService.DoorOpGetByDoorId(door.DoorId);
+ if (listOpAll != null)
+ {
+ listOp = listOpAll.Where(x => x.userConfirm != "" && x.DtConfirm != null).ToList();
+ if (listOp != null)
+ {
+ // chiamo metodo x avewre DDF serializzato
+ //var list2Ord = ;
+ var CurrentCompoOrder = await WDCService.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();
+
+ if (listOp.Count != 0 && listOp != null)
+ {
+ 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(door.DoorId, currDdf);
+ }
+
+ }
+ }
+ }
+ }
+
+ done = true;
+ }
+
+ protected async Task ordersGetAll()
+ {
+ DateTime adesso = DateTime.Today;
+
+ OrdersList = await WDCService.OrderStatusGetFilt(0, 0, adesso.AddYears(-200), adesso.AddYears(200));
+ }
+
+ public async Task flushCache()
+ {
+ await Task.Delay(1);
+ await WDService.FlushRedisCache();
+ await Task.Delay(1);
+ // rimando a pagina corrente
+ NavManager.NavigateTo("/", true);
+ }
+
+ protected string _keyWord { get; set; } = "";
+ protected string keyWord
+ {
+ get => _keyWord;
+ set => _keyWord = value;
+ }
+
+
+ public async Task FlushCustomPattern()
+ {
+ await Task.Delay(1);
+ await WDService.FlushCustomPattern(keyWord);
+ await Task.Delay(1);
+ // rimando a pagina corrente
+ NavManager.NavigateTo("/", true);
+ }
+
+
+ [Inject]
+ protected NavigationManager NavManager { get; set; } = null!;
+
+ [Inject]
+ protected WebDoorCreatorService WDService { get; set; } = null!;
+ }
+}
\ No newline at end of file
diff --git a/WebDoorCreator.UI/temp/Conf.yaml b/WebDoorCreator.UI/temp/Conf.yaml
deleted file mode 100644
index 3d9e04d..0000000
--- a/WebDoorCreator.UI/temp/Conf.yaml
+++ /dev/null
@@ -1,43 +0,0 @@
-#WEBDOORCREATOR
-#Config: EgtCompoBase
-#Door1
-
-version: 2
-produce: true
-measures: inches
-code: 0015943
-order:
- customer:
- elevation:
- project:
- pO:
- line:
-date: 2023-05-17T00:00:00.0000000+02:00
-piece: DO_1
-size:
- width: 33.8125
- height: 81.25
- thickness: 1.75
-swing: LH
-secure: UP
-material: wood
-profiles:
- lockedge:
- type: SQ
- machining: ON
- overmaterial: 0.1
- hingeedge:
- type: SQ
- machining: ON
- overmaterial: 0.1
- top:
- type: SQ
- machining: ON
- overmaterial: 0.1
- bottom:
- type: SQ
- machining: ON
- overmaterial: 0.1
-hardware: {}
-
----