Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop
This commit is contained in:
@@ -101,6 +101,7 @@ namespace WebDoorCreator.Data.DbModels
|
||||
DoorModel answ = new DoorModel()
|
||||
{
|
||||
MeasureUnit = MeasureUnit,
|
||||
OrderId = OrderId,
|
||||
TypeId = TypeId,
|
||||
DoorExtCode = DoorExtCode,
|
||||
DateIns = adesso,
|
||||
@@ -108,6 +109,7 @@ namespace WebDoorCreator.Data.DbModels
|
||||
DateMod = adesso,
|
||||
UserIdMod = userId,
|
||||
DoorDescript = DoorDescript,
|
||||
Quantity = Quantity,
|
||||
UnitCost = UnitCost,
|
||||
DateLockExpiry = DateLockExpiry,
|
||||
UserIdLock = UserIdLock
|
||||
|
||||
@@ -158,25 +158,45 @@ namespace WebDoorCreator.Data.DbModels
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
public DoorOpModel ObjClone(string userId)
|
||||
public DoorOpModel ObjClone(string userId, int doorId)
|
||||
{
|
||||
DoorOpModel answ = new DoorOpModel();
|
||||
DateTime adesso = DateTime.Now;
|
||||
DoorOpModel answ = new DoorOpModel()
|
||||
if (doorId == 0)
|
||||
{
|
||||
DateIns = adesso,
|
||||
DateMod = adesso,
|
||||
UserIdIns = userId,
|
||||
UserIdMod = userId,
|
||||
ObjectId = ObjectId,
|
||||
DoorId = DoorId,
|
||||
JsoncConfigVal = JsoncConfigVal,
|
||||
JsoncActVal = JsoncActVal,
|
||||
userConfirm = userConfirm,
|
||||
DtConfirm = DtConfirm
|
||||
};
|
||||
answ = new DoorOpModel()
|
||||
{
|
||||
DateIns = adesso,
|
||||
DateMod = adesso,
|
||||
UserIdIns = userId,
|
||||
UserIdMod = userId,
|
||||
ObjectId = ObjectId,
|
||||
DoorId = DoorId,
|
||||
JsoncConfigVal = JsoncConfigVal,
|
||||
JsoncActVal = JsoncActVal,
|
||||
userConfirm = userConfirm,
|
||||
DtConfirm = DtConfirm
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
answ = new DoorOpModel()
|
||||
{
|
||||
DateIns = adesso,
|
||||
DateMod = adesso,
|
||||
UserIdIns = userId,
|
||||
UserIdMod = userId,
|
||||
ObjectId = ObjectId,
|
||||
DoorId = doorId,
|
||||
JsoncConfigVal = JsoncConfigVal,
|
||||
JsoncActVal = JsoncActVal,
|
||||
userConfirm = userConfirm,
|
||||
DtConfirm = DtConfirm
|
||||
};
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,7 +113,7 @@ namespace WebDoorCreator.UI.Components.Buttons
|
||||
|
||||
string currDdf = currDdfConv.GetSerialized(listOp);
|
||||
// FIXME TODO: si potrebbe eliminare in futuro che va su REDIS
|
||||
await SaveYaml(currDdf);
|
||||
//await SaveYaml(currDdf);
|
||||
// versione corrente del DDF generato
|
||||
int currVers = await QDataServ.SendCalcReq(idDoor, currDdf);
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
@if (isCloneMode)
|
||||
{
|
||||
|
||||
<DoorSvgObj LineColor="#2D3047" LineWidth="8" ObjH="200" ObjW="650" LeftTextClass="col-4" RightTextClass="col-8" EC_ExeClone="@(()=>doClone(""))" Message1="@door.DoorId.ToString()" ShowClone="true" ImagePath="@imgPath" ObjId="idxCount" TextData="@textDictSetup(door)"></DoorSvgObj>
|
||||
<DoorSvgObj LineColor="#2D3047" LineWidth="8" ObjH="200" ObjW="650" LeftTextClass="col-4" RightTextClass="col-8" EC_ExeClone="@(()=>doClone(@door.DoorId.ToString()))" Message1="@door.DoorId.ToString()" ShowClone="true" ImagePath="@imgPath" ObjId="idxCount" TextData="@textDictSetup(door)"></DoorSvgObj>
|
||||
}
|
||||
else if (isAddRemMode)
|
||||
{
|
||||
|
||||
@@ -27,6 +27,7 @@ namespace WebDoorCreator.UI.Components.DoorMan
|
||||
#region Protected Properties
|
||||
|
||||
protected List<DoorModel>? DoorsList { get; set; } = null;
|
||||
protected List<DoorOpModel>? DoorOpsList { get; set; } = null;
|
||||
protected bool IsChanged { get; set; } = false;
|
||||
|
||||
[Inject]
|
||||
@@ -205,17 +206,43 @@ namespace WebDoorCreator.UI.Components.DoorMan
|
||||
await InvokeAsync(StateHasChanged);
|
||||
}
|
||||
|
||||
protected List<DoorOpModel> doorOps2Add = new List<DoorOpModel>();
|
||||
|
||||
/// <summary>
|
||||
/// Clona la porta selezionata con annesse door operations
|
||||
/// </summary>
|
||||
/// <param name="message"></param>
|
||||
/// <returns></returns>
|
||||
protected async Task doClone(string message)
|
||||
{
|
||||
var door2Clone = DoorsList?.Where(x => x.DoorId == int.Parse(message)).FirstOrDefault();
|
||||
|
||||
if (door2Clone != null)
|
||||
DoorOpsList = await WDService.DoorOpGetByDoorId(int.Parse(message));
|
||||
if (DoorOpsList != null)
|
||||
{
|
||||
var doorOpToAdd = door2Clone.ObjClone(userId);
|
||||
var doorOps2Clone = DoorOpsList?.Where(x => x.DoorId == int.Parse(message)).ToList();
|
||||
|
||||
// salvo!
|
||||
var done = await WDService.DoorInsert(doorOpToAdd);
|
||||
await ReloadData();
|
||||
var door2Clone = DoorsList?.Where(x => x.DoorId == int.Parse(message)).FirstOrDefault();
|
||||
|
||||
if (door2Clone != null)
|
||||
{
|
||||
var doorToAdd = door2Clone.ObjClone(userId);
|
||||
// salvo!
|
||||
var newDoorId = await WDService.DoorInsert(doorToAdd);
|
||||
if (newDoorId != 0 && doorOps2Clone != null)
|
||||
{
|
||||
foreach (var item in doorOps2Clone)
|
||||
{
|
||||
var doorOp2Add = item.ObjClone(userId, newDoorId);
|
||||
doorOps2Add.Add(doorOp2Add);
|
||||
}
|
||||
|
||||
// salvo!
|
||||
var done = await WDService.DoorOpInsert(newDoorId, doorOps2Add);
|
||||
if (done)
|
||||
{
|
||||
await ReloadData();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
protected async void sendToAbh(int ordId, int orderStat)
|
||||
|
||||
@@ -4,9 +4,7 @@
|
||||
@if (HwToShow != null)
|
||||
{
|
||||
<div class="row m-0">
|
||||
|
||||
|
||||
<HardwareNewPanel HwLabel="@HwToShow.Label" E_act2Rel="setRefOnDelete" Lingua="@Lingua" HwCode="@HwToShow.TableName" HwAdded="@hwAdd" DoorId="@DoorId"></HardwareNewPanel>
|
||||
<HardwareNewPanel HwInst="getInstNumber(HwToShow.Value)" HwLabel="@HwToShow.Label" E_act2Rel="setRefOnDelete" Lingua="@Lingua" HwCode="@HwToShow.TableName" HwAdded="@hwAdd" DoorId="@DoorId"></HardwareNewPanel>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -19,18 +17,7 @@
|
||||
@foreach (var item in HwList)
|
||||
{
|
||||
<div class="row col-4">
|
||||
<div class="rectangle @setBgColor(item.TableName) row" @onclick="()=>hwToChoose(item.TableName)">
|
||||
<div class="col-8">
|
||||
@(translate(item.Label))
|
||||
</div>
|
||||
@if (@getInstNumber(item.Value) > 0)
|
||||
{
|
||||
<div class="col-4 text-end pe-4">
|
||||
@getInstNumber(item.Value)
|
||||
</div>
|
||||
}
|
||||
<div class="circle"></div>
|
||||
</div>
|
||||
<HwSvgObj LineColor="#CFD8DC" LineWidth="8" ObjH="200" ObjW="700" EC_ExeFunct="@(()=> hwToChoose(item.TableName))" ObjId="@item.TableName" ItemName="@(translate(item.Label))" ItemCount="getInstNumber(item.Value)"></HwSvgObj>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
@@ -6,19 +6,23 @@ else
|
||||
{
|
||||
@if (DoorOpList != null)
|
||||
{
|
||||
<div class="text-center">
|
||||
@*<div class="text-center">
|
||||
<div class="row col-4">
|
||||
<div class="rectangle">
|
||||
@(translate(HwLabel))
|
||||
<div class="circle" @onclick="()=>hwToAdd()"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>*@
|
||||
<div class="row col-4">
|
||||
<HwSvgObj LineColor="#CFD8DC" LineWidth="8" ObjH="200" ObjW="700" EC_ExePlus="@(()=> hwToAdd(""))" ObjId="@HwCode" ItemName="@(translate(HwLabel))" ItemCount="@HwInst" ShowPlus="true" ImagePath=""></HwSvgObj>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
@foreach (var item in DoorOpList)
|
||||
{
|
||||
<div class="col-4" style="min-height: 20rem;">
|
||||
<HwSingleInstance E_act2Rel="setRefOnDelete" instanceN="@(instNum++)" Lingua="@Lingua" DoorOpInst="@item" HwCode="@HwCode" E_recordUpdate="manageUpdate"></HwSingleInstance>
|
||||
<HwSingleInstance E_act2Rel="setRefOnDelete" instanceN="@(getDoorOpInstNum(item.DoorOpId))" Lingua="@Lingua" DoorOpInst="@item" HwCode="@HwCode" E_recordUpdate="manageUpdate"></HwSingleInstance>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
@@ -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<DoorOpModel>? DoorOpList { get; set; } = null!;
|
||||
protected List<DoorOpModel> DoorOp2ModList { get; set; } = new List<DoorOpModel>();
|
||||
|
||||
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<string, List<string>> defaultDict = new Dictionary<string, List<string>>();
|
||||
List<string> listDefVal = new List<string>();
|
||||
Dictionary<string, string> actDict = new Dictionary<string, string>();
|
||||
List<string> defaultParamsList = new List<string>();
|
||||
string default2Design = "";
|
||||
listRecordTmp = await WDCService.ListValuesGetAll(HwCode, "shape");
|
||||
}
|
||||
Dictionary<string, List<string>> defaultDict = new Dictionary<string, List<string>>();
|
||||
List<string> listDefVal = new List<string>();
|
||||
Dictionary<string, string> actDict = new Dictionary<string, string>();
|
||||
List<string> defaultParamsList = new List<string>();
|
||||
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<string>() { item.DefaultVal.Trim().Split("/")[0] };
|
||||
actDict.Add(item.Value.Trim(), item.DefaultVal.Trim().Split("/")[0]);
|
||||
default2Design = firstTemplate.DefaultVal;
|
||||
}
|
||||
else
|
||||
{
|
||||
listDefVal = new List<string>() { 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<string>() { item.DefaultVal.Trim().Split("/")[0] };
|
||||
actDict.Add(item.Value.Trim(), item.DefaultVal.Trim().Split("/")[0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
listDefVal = new List<string>() { 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<DoorOpModel> doorOpAddList = new List<DoorOpModel>() { doorOpToAdd };
|
||||
// salvo!
|
||||
|
||||
@@ -5,10 +5,10 @@
|
||||
<div class="row" style="@TextStyle">
|
||||
@foreach (var item in TextData)
|
||||
{
|
||||
<div class="">
|
||||
<div class="@LeftTextClass">
|
||||
@item.Key
|
||||
</div>
|
||||
<div class="text-end">
|
||||
<div class="@RightTextClass text-end">
|
||||
<b>@item.Value</b>
|
||||
</div>
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -2133,6 +2133,14 @@ namespace WebDoorCreator.UI.Data
|
||||
return answ;
|
||||
}
|
||||
|
||||
public async Task<bool> FlushCustomPattern(string keyWord)
|
||||
{
|
||||
await Task.Delay(1);
|
||||
RedisValue pattern = new RedisValue($"{Constants.redisBaseAddr}:{keyWord}");
|
||||
bool answ = await ExecFlushRedisPattern(pattern);
|
||||
return answ;
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
@page "/Utils"
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col">
|
||||
<button class="btn btn-lg btn-primary" @onclick="()=>doSave()">DO RESET</button>
|
||||
|
||||
@if (done)
|
||||
{
|
||||
<h1>DONE!!!!</h1>
|
||||
}
|
||||
</div>
|
||||
<div class="col">
|
||||
<button class="btn btn-lg btn-primary" @onclick="()=>flushCache()">DO FLUSH CACHE FROM ROOT (ALL!!)</button>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="input-group mb-3">
|
||||
@if (keyWord != "")
|
||||
{
|
||||
<button class="btn btn-lg btn-outline-primary" @onclick="()=>FlushCustomPattern()">DO FLUSH CACHE BY KEYWORD)</button>
|
||||
}
|
||||
else
|
||||
{
|
||||
<button class="btn btn-lg btn-outline-secondary" @onclick="()=>FlushCustomPattern()">DO FLUSH CACHE BY KEYWORD</button>
|
||||
|
||||
}
|
||||
<input type="text" class="form-control" placeholder="" @bind="@keyWord">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -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<DoorOpModel>? DoorOpsList { get; set; }
|
||||
|
||||
protected List<DoorModel> DoorsList { get; set; } = new List<DoorModel>();
|
||||
|
||||
protected List<OrderStatusViewModel>? OrdersList { get; set; }
|
||||
|
||||
protected List<string> ordListVal { get; set; } = new List<string>();
|
||||
protected List<DoorOpModel> listOp { get; set; } = new List<DoorOpModel>();
|
||||
protected List<DoorOpModel> listOpAll { get; set; } = new List<DoorOpModel>();
|
||||
|
||||
[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<string>("ConfDDF:VersNumber");
|
||||
bool remDoorOp = config.GetValue<bool>("ConfDDF:RemoveDoorOps");
|
||||
var headRows = config.GetSection("ConfDDF:Header").Get<List<string>>();
|
||||
var footRows = config.GetSection("ConfDDF:Footer").Get<List<string>>();
|
||||
currDdfConv = new WebDoorCreator.Data.DDF.Converter(vers, remDoorOp, headRows, footRows);
|
||||
}
|
||||
|
||||
protected WebDoorCreator.Data.DDF.Converter currDdfConv { get; set; } = null!;
|
||||
/// <summary>
|
||||
/// Effettua salvataggio record e generazione DDF
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
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!;
|
||||
}
|
||||
}
|
||||
@@ -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: {}
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user