From cabd291b63c71a5978e6ccb775f3952fe15ab0ec Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Wed, 24 May 2023 08:00:24 +0200 Subject: [PATCH 001/137] inizio pulizia codice --- WebDoorCreator.UI/Pages/DoorDefinition.razor | 21 +------------------- WebDoorCreator.UI/Pages/HwPdfConfirm.razor | 13 +----------- 2 files changed, 2 insertions(+), 32 deletions(-) diff --git a/WebDoorCreator.UI/Pages/DoorDefinition.razor b/WebDoorCreator.UI/Pages/DoorDefinition.razor index ec2fac7..a5dea42 100644 --- a/WebDoorCreator.UI/Pages/DoorDefinition.razor +++ b/WebDoorCreator.UI/Pages/DoorDefinition.razor @@ -1,22 +1,6 @@ -@*@page "/DoorDefinition"*@ - -@*
-
-

Door Definition

-
- -
*@ +
- @* - - - - @* - - - - *@
@@ -28,10 +12,8 @@ - @**@ @if (orderStatus != null) { - @**@ } @if (currDefStep == 10) { @@ -40,7 +22,6 @@ } - @**@ } else if (currDefStep == 20) { diff --git a/WebDoorCreator.UI/Pages/HwPdfConfirm.razor b/WebDoorCreator.UI/Pages/HwPdfConfirm.razor index 0bc13e5..a607bae 100644 --- a/WebDoorCreator.UI/Pages/HwPdfConfirm.razor +++ b/WebDoorCreator.UI/Pages/HwPdfConfirm.razor @@ -3,24 +3,13 @@ @if (currDoorOp != null) {
- @*@if (currDoorOp.DtConfirm != null && currDoorOp.userConfirm != "") - {*@
Please press - - - after reading the whole file + after reading the whole Document
- @*} - else - { -
- Template already confirmed by user: @currDoorOp.userConfirm on @currDoorOp.DtConfirm -
- }*@
} \ No newline at end of file From c2eae8ad9ebf9931a55d0f44822362cee9aed984 Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Wed, 24 May 2023 08:20:46 +0200 Subject: [PATCH 002/137] ok pulizia generale --- Resources/ChangeLog.html | 2 +- Resources/VersNum.txt | 2 +- Resources/manifest.xml | 2 +- .../Components/Buttons/ButtonAddRemDoor.razor | 8 - .../Buttons/ButtonAddRemDoor.razor.cs | 47 ----- .../Components/Buttons/ButtonsDoorDef.razor | 1 - .../Buttons/ButtonsDoorDef.razor.cs | 13 -- .../Components/CompMan/CompanyList.razor | 1 - .../Components/CompMan/CompanyList.razor.cs | 17 +- .../Components/DoorDef/BaseParamList.razor.cs | 1 - .../Components/DoorDef/DoorDataBlock.razor | 1 - .../Components/DoorDef/DoorDataBlock.razor.cs | 12 +- .../DoorDef/DoorDefOrderTopRow.razor | 4 - .../DoorDef/DoorDefOrderTopRow.razor.cs | 10 +- .../DoorDef/DoorDefSizingSI.razor.cs | 4 +- .../DoorDef/DoorDefStepList.razor.cs | 31 ++- .../DoorDef}/DoorDefinition.razor | 0 .../DoorDef}/DoorDefinition.razor.cs | 2 +- .../Components/DoorDef/DoorPreview.razor | 5 +- .../Components/DoorDef/DoorPreview.razor.cs | 12 +- .../Components/DoorMan/DoorList.razor | 6 - .../Components/DoorMan/DoorList.razor.cs | 54 +++--- .../Components/DoorMan/DoorModal.razor | 6 - .../Components/DoorMan/DoorModal.razor.cs | 177 ++++++++---------- .../Components/Filters/OrderFilter.razor | 1 - .../Components/Filters/OrderFilter.razor.cs | 62 +++--- .../Components/Gen/NavMenuHorizontal.razor | 41 ---- .../Hardware/HwSingleInstance.razor | 6 - .../Hardware/HwSingleInstance.razor.cs | 20 +- .../Components/Order/OrderList.razor | 127 ++++--------- .../Components/Order/OrderList.razor.cs | 63 +++---- .../Components/Order/OrderStatusStep.razor.cs | 23 +-- .../Components/Report/ReportList.razor.cs | 9 +- WebDoorCreator.UI/Pages/HwPdfConfirm.razor.cs | 123 ++++++------ WebDoorCreator.UI/Pages/Index.razor.cs | 28 +-- WebDoorCreator.UI/Pages/Utils.razor.cs | 103 +++++----- WebDoorCreator.UI/WebDoorCreator.UI.csproj | 2 +- 37 files changed, 380 insertions(+), 646 deletions(-) delete mode 100644 WebDoorCreator.UI/Components/Buttons/ButtonAddRemDoor.razor delete mode 100644 WebDoorCreator.UI/Components/Buttons/ButtonAddRemDoor.razor.cs rename WebDoorCreator.UI/{Pages => Components/DoorDef}/DoorDefinition.razor (100%) rename WebDoorCreator.UI/{Pages => Components/DoorDef}/DoorDefinition.razor.cs (99%) diff --git a/Resources/ChangeLog.html b/Resources/ChangeLog.html index 2207b0b..c871405 100644 --- a/Resources/ChangeLog.html +++ b/Resources/ChangeLog.html @@ -1,6 +1,6 @@ WebDoorCreator - Egalware -

Version: 0.9.2305.2319

+

Version: 0.9.2305.2408


Release note:
  • diff --git a/Resources/VersNum.txt b/Resources/VersNum.txt index 1e5744e..e1a89da 100644 --- a/Resources/VersNum.txt +++ b/Resources/VersNum.txt @@ -1 +1 @@ -0.9.2305.2319 +0.9.2305.2408 diff --git a/Resources/manifest.xml b/Resources/manifest.xml index 2baaa2f..3f0d41f 100644 --- a/Resources/manifest.xml +++ b/Resources/manifest.xml @@ -1,6 +1,6 @@ - 0.9.2305.2319 + 0.9.2305.2408 http://nexus.steamware.net/repository/SWS/WDC/stable/WDC.UI.zip http://nexus.steamware.net/repository/SWS/WDC/stable/ChangeLog.html false diff --git a/WebDoorCreator.UI/Components/Buttons/ButtonAddRemDoor.razor b/WebDoorCreator.UI/Components/Buttons/ButtonAddRemDoor.razor deleted file mode 100644 index 461af20..0000000 --- a/WebDoorCreator.UI/Components/Buttons/ButtonAddRemDoor.razor +++ /dev/null @@ -1,8 +0,0 @@ -@if (isAdd) -{ - -} -else -{ - -} \ No newline at end of file diff --git a/WebDoorCreator.UI/Components/Buttons/ButtonAddRemDoor.razor.cs b/WebDoorCreator.UI/Components/Buttons/ButtonAddRemDoor.razor.cs deleted file mode 100644 index 9bef52a..0000000 --- a/WebDoorCreator.UI/Components/Buttons/ButtonAddRemDoor.razor.cs +++ /dev/null @@ -1,47 +0,0 @@ -using Microsoft.AspNetCore.Components; -using Microsoft.AspNetCore.Identity; -using Microsoft.JSInterop; -using WebDoorCreator.Data.Services; -using WebDoorCreator.UI.Data; - -namespace WebDoorCreator.UI.Components.Buttons -{ - public partial class ButtonAddRemDoor - { - [Inject] - protected WebDoorCreatorService WDService { get; set; } = null!; - - [Inject] - protected IJSRuntime JSRuntime { get; set; } = null!; - - [Inject] - protected NavigationManager NavManager { get; set; } = null!; - - [Parameter] - public int DoorId { get; set; } = 0; - [Parameter] - public int OrderId { get; set; } = 0; - - [Parameter] - public bool isAdd { get; set; } - - [Parameter] - public EventCallback E_isChange { get; set; } - - protected bool doorChange { get; set; } = false; - - protected async Task addOrRemoveOneDoorNumber() - { -#if false - //var door = new DoorModel(); - doorChange = false; - var done = await WDService.DoorModQty(OrderId, DoorId, isAdd); - if (done) - { - doorChange = true; - await E_isChange.InvokeAsync(doorChange); - } -#endif - } - } -} \ No newline at end of file diff --git a/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor b/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor index 9db9672..6b708b4 100644 --- a/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor +++ b/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor @@ -13,7 +13,6 @@ } - @**@
diff --git a/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor.cs b/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor.cs index 6734321..84fd2c3 100644 --- a/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor.cs +++ b/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor.cs @@ -28,9 +28,7 @@ namespace WebDoorCreator.UI.Components.Buttons #endregion Public Properties - #region Public Methods - #endregion Public Methods #region Protected Properties @@ -145,17 +143,6 @@ namespace WebDoorCreator.UI.Components.Buttons //change = paramsChanged; } -#if false - protected async Task toOrderPage() - { - if (!await JSRuntime.InvokeAsync("confirm", $"Do you really want to return to the order page without saving current work?")) - return; - - await Task.Delay(1); - NavManager.NavigateTo($"OrdersHomePage?idOrd={idOrd}"); - } -#endif - #endregion Protected Methods #region Private Methods diff --git a/WebDoorCreator.UI/Components/CompMan/CompanyList.razor b/WebDoorCreator.UI/Components/CompMan/CompanyList.razor index d8dd4f8..32dcac7 100644 --- a/WebDoorCreator.UI/Components/CompMan/CompanyList.razor +++ b/WebDoorCreator.UI/Components/CompMan/CompanyList.razor @@ -8,7 +8,6 @@ else - @**@ Company VAT diff --git a/WebDoorCreator.UI/Components/CompMan/CompanyList.razor.cs b/WebDoorCreator.UI/Components/CompMan/CompanyList.razor.cs index 189c334..ee8efb7 100644 --- a/WebDoorCreator.UI/Components/CompMan/CompanyList.razor.cs +++ b/WebDoorCreator.UI/Components/CompMan/CompanyList.razor.cs @@ -1,7 +1,6 @@ using Microsoft.AspNetCore.Components; using WebDoorCreator.Data.DbModels; using WebDoorCreator.Data.Services; -using WebDoorCreator.UI.Data; namespace WebDoorCreator.UI.Components.CompMan { @@ -9,12 +8,12 @@ namespace WebDoorCreator.UI.Components.CompMan { #region Protected Properties - [Inject] - protected WebDoorCreatorService WDService { get; set; } = null!; - [Parameter] public EventCallback E_currCompany { get; set; } + [Inject] + protected WebDoorCreatorService WDService { get; set; } = null!; + #endregion Protected Properties #region Protected Methods @@ -34,6 +33,11 @@ namespace WebDoorCreator.UI.Components.CompMan #region Private Methods + private async Task editRec(CompanyModel currComp) + { + await E_currCompany.InvokeAsync(currComp); + } + private async Task ReloadData() { ListRecords = null; @@ -43,11 +47,6 @@ namespace WebDoorCreator.UI.Components.CompMan await InvokeAsync(StateHasChanged); } - private async Task editRec(CompanyModel currComp) - { - await E_currCompany.InvokeAsync(currComp); - } - #endregion Private Methods } } \ No newline at end of file diff --git a/WebDoorCreator.UI/Components/DoorDef/BaseParamList.razor.cs b/WebDoorCreator.UI/Components/DoorDef/BaseParamList.razor.cs index 26e3fb2..5c8a536 100644 --- a/WebDoorCreator.UI/Components/DoorDef/BaseParamList.razor.cs +++ b/WebDoorCreator.UI/Components/DoorDef/BaseParamList.razor.cs @@ -1,7 +1,6 @@ using Microsoft.AspNetCore.Components; using WebDoorCreator.Data.DbModels; using WebDoorCreator.Data.Services; -using WebDoorCreator.UI.Data; namespace WebDoorCreator.UI.Components.DoorDef { diff --git a/WebDoorCreator.UI/Components/DoorDef/DoorDataBlock.razor b/WebDoorCreator.UI/Components/DoorDef/DoorDataBlock.razor index be0c8c2..fab9d2f 100644 --- a/WebDoorCreator.UI/Components/DoorDef/DoorDataBlock.razor +++ b/WebDoorCreator.UI/Components/DoorDef/DoorDataBlock.razor @@ -34,7 +34,6 @@ } }
- @*
*@
} \ No newline at end of file diff --git a/WebDoorCreator.UI/Components/DoorDef/DoorDataBlock.razor.cs b/WebDoorCreator.UI/Components/DoorDef/DoorDataBlock.razor.cs index 1548d48..e84507b 100644 --- a/WebDoorCreator.UI/Components/DoorDef/DoorDataBlock.razor.cs +++ b/WebDoorCreator.UI/Components/DoorDef/DoorDataBlock.razor.cs @@ -51,6 +51,9 @@ namespace WebDoorCreator.UI.Components.DoorDef #region Protected Properties + [Parameter] + public bool paramsChanged { get; set; } = false; + /// /// Lista delle conf assocaite alle BlockDoorOp /// @@ -60,19 +63,17 @@ namespace WebDoorCreator.UI.Components.DoorDef /// Lista delle BlockDoorOp da passare /// protected Dictionary> bdoList { get; set; } = new Dictionary>(); - - [Parameter] - public bool paramsChanged { get; set; } = false; protected string userLang { get; set; } = "EN"; #endregion Protected Properties #region Protected Methods + protected bool showCirc { get; set; } = false; + [Inject] protected WDCRefreshService WDCRService { get; set; } = null!; - protected async Task doSaveBlock(Dictionary> updSet) { await Task.Delay(1); @@ -101,9 +102,6 @@ namespace WebDoorCreator.UI.Components.DoorDef } } } - - protected bool showCirc { get; set; } = false; - protected Dictionary> getParamsConfig(string paramName) { Dictionary> answ = new Dictionary>(); diff --git a/WebDoorCreator.UI/Components/DoorDef/DoorDefOrderTopRow.razor b/WebDoorCreator.UI/Components/DoorDef/DoorDefOrderTopRow.razor index cd650af..e68381d 100644 --- a/WebDoorCreator.UI/Components/DoorDef/DoorDefOrderTopRow.razor +++ b/WebDoorCreator.UI/Components/DoorDef/DoorDefOrderTopRow.razor @@ -9,19 +9,15 @@
- @*
Insert Date
*@
Insert Date: @currOrderStatus.DateIns
- @*
Order External Code
*@
Order External Code: @currOrderStatus.OrderExtCode
- @*
Models Number
*@
Models Number: @currOrderStatus.NumType
- @*
Doors Number
*@
Doors Number: @currOrderStatus.NumDoors
diff --git a/WebDoorCreator.UI/Components/DoorDef/DoorDefOrderTopRow.razor.cs b/WebDoorCreator.UI/Components/DoorDef/DoorDefOrderTopRow.razor.cs index 1ef1b91..9a45522 100644 --- a/WebDoorCreator.UI/Components/DoorDef/DoorDefOrderTopRow.razor.cs +++ b/WebDoorCreator.UI/Components/DoorDef/DoorDefOrderTopRow.razor.cs @@ -2,7 +2,6 @@ using Microsoft.AspNetCore.Components; using Microsoft.JSInterop; using WebDoorCreator.Data.DbModels; using WebDoorCreator.Data.Services; -using WebDoorCreator.UI.Data; namespace WebDoorCreator.UI.Components.DoorDef { @@ -13,12 +12,11 @@ namespace WebDoorCreator.UI.Components.DoorDef [Parameter] public string bgColor { get; set; } = ""; - [CascadingParameter] - public int idDoor { get; set; } = 0; - [Parameter] public OrderStatusViewModel? currOrderStatus { get; set; } = null; + [CascadingParameter] + public int idDoor { get; set; } = 0; #endregion Public Properties #region Protected Properties @@ -26,11 +24,11 @@ namespace WebDoorCreator.UI.Components.DoorDef [Inject] protected IJSRuntime JSRuntime { get; set; } = null!; - [Inject] - protected WebDoorCreatorService WDCService { get; set; } = null!; [Inject] protected NavigationManager NavManager { get; set; } = null!; + [Inject] + protected WebDoorCreatorService WDCService { get; set; } = null!; #endregion Protected Properties #region Protected Methods diff --git a/WebDoorCreator.UI/Components/DoorDef/DoorDefSizingSI.razor.cs b/WebDoorCreator.UI/Components/DoorDef/DoorDefSizingSI.razor.cs index 05f601f..4fa1c07 100644 --- a/WebDoorCreator.UI/Components/DoorDef/DoorDefSizingSI.razor.cs +++ b/WebDoorCreator.UI/Components/DoorDef/DoorDefSizingSI.razor.cs @@ -41,7 +41,7 @@ namespace WebDoorCreator.UI.Components.DoorDef #region Protected Properties - Dictionary _currVal = new Dictionary(); + private Dictionary _currVal = new Dictionary(); /// /// Array dati effettivo x gestione modifiche @@ -109,8 +109,6 @@ namespace WebDoorCreator.UI.Components.DoorDef return answ; } - - protected async Task doSave() { await Task.Delay(1); diff --git a/WebDoorCreator.UI/Components/DoorDef/DoorDefStepList.razor.cs b/WebDoorCreator.UI/Components/DoorDef/DoorDefStepList.razor.cs index efed53b..d8f2fc9 100644 --- a/WebDoorCreator.UI/Components/DoorDef/DoorDefStepList.razor.cs +++ b/WebDoorCreator.UI/Components/DoorDef/DoorDefStepList.razor.cs @@ -1,26 +1,29 @@ using Microsoft.AspNetCore.Components; -using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage; using WebDoorCreator.Data.DbModels; using WebDoorCreator.Data.Services; -using WebDoorCreator.UI.Data; namespace WebDoorCreator.UI.Components.DoorDef { public partial class DoorDefStepList { - - [Inject] - protected WebDoorCreatorService WDService { get; set; } = null!; - [Parameter] public int CurrDoorDefStatus { get; set; } = 10; [Parameter] public EventCallback E_CurrStep { get; set; } - protected override async Task OnParametersSetAsync() + protected string currColor { get; set; } = ""; + + protected List? currListDoorDefStatus { get; set; } = null; + + protected List listBord01 { get; set; } = new(); + + [Inject] + protected WebDoorCreatorService WDService { get; set; } = null!; + protected async Task changeStep(int step) { - await Task.Delay(1); + await E_CurrStep.InvokeAsync(step); + StateHasChanged(); } protected async Task doChangeStep(string actDoorDefStep) @@ -30,9 +33,6 @@ namespace WebDoorCreator.UI.Components.DoorDef //await E_StepChanged.InvokeAsync(actDoorDefStep); } - protected List? currListDoorDefStatus { get; set; } = null; - protected string currColor { get; set; } = ""; - protected override async Task OnInitializedAsync() { await Task.Delay(1); @@ -44,7 +44,6 @@ namespace WebDoorCreator.UI.Components.DoorDef if (stat2Display != null) { currColor = stat2Display.DefaultVal; - } } @@ -55,13 +54,9 @@ namespace WebDoorCreator.UI.Components.DoorDef listBord01.Add("White"); } - protected List listBord01 { get; set; } = new(); - - protected async Task changeStep(int step) + protected override async Task OnParametersSetAsync() { - await E_CurrStep.InvokeAsync(step); - StateHasChanged(); + await Task.Delay(1); } - } } \ No newline at end of file diff --git a/WebDoorCreator.UI/Pages/DoorDefinition.razor b/WebDoorCreator.UI/Components/DoorDef/DoorDefinition.razor similarity index 100% rename from WebDoorCreator.UI/Pages/DoorDefinition.razor rename to WebDoorCreator.UI/Components/DoorDef/DoorDefinition.razor diff --git a/WebDoorCreator.UI/Pages/DoorDefinition.razor.cs b/WebDoorCreator.UI/Components/DoorDef/DoorDefinition.razor.cs similarity index 99% rename from WebDoorCreator.UI/Pages/DoorDefinition.razor.cs rename to WebDoorCreator.UI/Components/DoorDef/DoorDefinition.razor.cs index c0a6230..3593f0e 100644 --- a/WebDoorCreator.UI/Pages/DoorDefinition.razor.cs +++ b/WebDoorCreator.UI/Components/DoorDef/DoorDefinition.razor.cs @@ -7,7 +7,7 @@ using WebDoorCreator.Data.DbModels; using WebDoorCreator.Data.Services; using WebDoorCreator.UI.Data; -namespace WebDoorCreator.UI.Pages +namespace WebDoorCreator.UI.Components.DoorDef { public partial class DoorDefinition : IDisposable { diff --git a/WebDoorCreator.UI/Components/DoorDef/DoorPreview.razor b/WebDoorCreator.UI/Components/DoorDef/DoorPreview.razor index b4e8955..3dd80a2 100644 --- a/WebDoorCreator.UI/Components/DoorDef/DoorPreview.razor +++ b/WebDoorCreator.UI/Components/DoorDef/DoorPreview.razor @@ -1,10 +1,7 @@ -@*
*@ - -
+
@if (!string.IsNullOrEmpty(@SvgContent)) { - @*
*@
@svgPreview diff --git a/WebDoorCreator.UI/Components/DoorDef/DoorPreview.razor.cs b/WebDoorCreator.UI/Components/DoorDef/DoorPreview.razor.cs index ad5cf68..70560d3 100644 --- a/WebDoorCreator.UI/Components/DoorDef/DoorPreview.razor.cs +++ b/WebDoorCreator.UI/Components/DoorDef/DoorPreview.razor.cs @@ -7,6 +7,11 @@ namespace WebDoorCreator.UI.Components.DoorDef { #region Public Properties + private static Logger Log = LogManager.GetCurrentClassLogger(); + + [Parameter] + public string doorW { get; set; } = ""; + [Parameter] public string SvgContent { @@ -16,13 +21,8 @@ namespace WebDoorCreator.UI.Components.DoorDef _svgContent = value; } } - - [Parameter] - public string doorW { get; set; } = ""; - - private static Logger Log = LogManager.GetCurrentClassLogger(); - protected string _svgContent { get; set; } = ""; + #endregion Public Properties #region Protected Properties diff --git a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor index 570119d..352cda6 100644 --- a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor +++ b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor @@ -7,7 +7,6 @@
- @**@
@@ -33,9 +32,4 @@ } }
- - @*@if (currDoor != null) - { - - }*@ } \ No newline at end of file diff --git a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.cs b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.cs index b6bf473..4ed2cea 100644 --- a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.cs +++ b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.cs @@ -17,16 +17,17 @@ namespace WebDoorCreator.UI.Components.DoorMan [Parameter] public int currOrderId { get; set; } = 0; + [Parameter] + public EventCallback E_CurrDoor { get; set; } + + [Parameter] + public EventCallback E_CurrDoorModal { get; set; } + [Parameter] public EventCallback E_DoorChanged { get; set; } [Parameter] public EventCallback updateRecordCount { get; set; } - [Parameter] - public EventCallback E_CurrDoor { get; set; } - [Parameter] - public EventCallback E_CurrDoorModal { get; set; } - public string userId { get @@ -73,6 +74,7 @@ namespace WebDoorCreator.UI.Components.DoorMan #region Protected Methods + protected DoorModel? currDoor { get; set; } = null; protected async Task catchDoorChange(bool isChanged) { @@ -94,9 +96,6 @@ namespace WebDoorCreator.UI.Components.DoorMan await InvokeAsync(StateHasChanged); await E_CurrDoor.InvokeAsync(door); } - - // rimando alla pagina... dettaglio... - //NavManager.NavigateTo($"DoorDefinition?idOrd={currOrderId}&idDoor={doorId}"); } protected async Task deleteRecord(DoorModel currRec) @@ -170,7 +169,6 @@ namespace WebDoorCreator.UI.Components.DoorMan await E_CurrDoor.InvokeAsync(door); } } - //NavManager.NavigateTo($"DoorDefinition?idOrd={currOrderId}&idDoor={doorId}"); } protected async Task ExecDoorReq(DoorSvgObj.DoorAct currAct) @@ -182,40 +180,26 @@ namespace WebDoorCreator.UI.Components.DoorMan // TODO //await removeOneDoorNumber("", ""); break; + case DoorSvgObj.ActionReq.Plus: // TODO //await addOneDoorNumber("", ""); break; + case DoorSvgObj.ActionReq.ReqOptions: // TODO // aprire la modale di editing... await setModalShow(currAct.DoorId); break; + case DoorSvgObj.ActionReq.Select: await editRec(currAct.DoorId); break; + default: break; } } - - protected DoorModel? currDoor { get; set; } = null; - - protected async Task setModalShow(int doorId) - { - await Task.Delay(1); - - if (DoorsList != null) - { - var door = DoorsList.Where(x => x.DoorId == doorId).FirstOrDefault(); - if (door != null) - { - //currDoor = door; - await E_CurrDoorModal.InvokeAsync(door); - } - } - } - protected async Task getBackStatus() { await Task.Delay(1); @@ -279,12 +263,10 @@ namespace WebDoorCreator.UI.Components.DoorMan } } - protected async void sendToCompany(int ordId, int orderStat) { if (orderStat == 10) { - //int doorId = await WDService.createDoor(currOrderId, userId, "mm"); bool done = await WDService.OrderUpdate(ordId, 20); if (done) { @@ -295,8 +277,20 @@ namespace WebDoorCreator.UI.Components.DoorMan await ReloadData(); } + protected async Task setModalShow(int doorId) + { + await Task.Delay(1); - + if (DoorsList != null) + { + var door = DoorsList.Where(x => x.DoorId == doorId).FirstOrDefault(); + if (door != null) + { + //currDoor = door; + await E_CurrDoorModal.InvokeAsync(door); + } + } + } /// /// Prepara il dictionary dei testi da riportare nell'oggetto ordine /// diff --git a/WebDoorCreator.UI/Components/DoorMan/DoorModal.razor b/WebDoorCreator.UI/Components/DoorMan/DoorModal.razor index 60b549e..94333a7 100644 --- a/WebDoorCreator.UI/Components/DoorMan/DoorModal.razor +++ b/WebDoorCreator.UI/Components/DoorMan/DoorModal.razor @@ -37,11 +37,6 @@
- @*
-
- -
-
*@
@@ -51,7 +46,6 @@
- @**@
diff --git a/WebDoorCreator.UI/Components/DoorMan/DoorModal.razor.cs b/WebDoorCreator.UI/Components/DoorMan/DoorModal.razor.cs index 3b6ec87..bdbff81 100644 --- a/WebDoorCreator.UI/Components/DoorMan/DoorModal.razor.cs +++ b/WebDoorCreator.UI/Components/DoorMan/DoorModal.razor.cs @@ -1,84 +1,64 @@ using Microsoft.AspNetCore.Components; -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 { public partial class DoorModal { + protected List doorOps2Add = new List(); + + public DoorModel CurrDoor { get; set; } = new DoorModel(); + + public DoorModel CurrDoorClone { get; set; } = new DoorModel(); + [Parameter] public int CurrDoorId { get; set; } = 0; - [Parameter] - public int OrderId { get; set; } = 0; - [Parameter] - public string userId { get; set; } = ""; - public DoorModel CurrDoorClone { get; set; } = new DoorModel(); - public DoorModel CurrDoor { get; set; } = new DoorModel(); + public List DoorsList { get; set; } = new List(); [Parameter] public EventCallback E_DoorClose { get; set; } + [Parameter] public EventCallback E_isChange { get; set; } + [Parameter] + public int OrderId { get; set; } = 0; + + [Parameter] + public string userId { get; set; } = ""; [Inject] - protected WebDoorCreatorService WDService { get; set; } = null!; + protected IConfiguration config { get; set; } = null!; + + protected WebDoorCreator.Data.DDF.Converter currDdfConv { get; set; } = null!; + + protected DDFDto CurrentConf { get; set; } = new DDFDto(); + + protected int doorQty + { + get => CurrDoor.Quantity; + set => CurrDoor.Quantity = value; + } protected string DoorSvgContent { get; set; } = ""; - 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!; + protected bool IsErr { get; set; } = false; + [Inject] - protected IConfiguration config { get; set; } = null!; - protected DDFDto CurrentConf { get; set; } = new DDFDto(); - protected async Task closeModal() - { - await Task.Delay(1); - var fakeDoor = new DoorModel(); + protected IJSRuntime JSRuntime { get; set; } = null!; - await E_DoorClose.InvokeAsync(fakeDoor); - } + protected int newDoorId { get; set; } = 0; - protected override async Task OnParametersSetAsync() - { - await Task.Delay(1); - await ReloadData(); - } + protected List ordListVal { get; set; } = new List(); - protected async Task ReloadData() - { - var SearchRecords = await WDService.DoorGetByOrderId(OrderId); - if (SearchRecords != null) - { - DoorsList = SearchRecords; - - if (DoorsList != null) - { - var door = DoorsList.Where(x => x.DoorId == CurrDoorId).FirstOrDefault(); - if (door != null) - { - CurrDoor = door; - } - } - } - CurrDoorClone = CurrDoor.ObjClone(""); - } + [Inject] + protected QueueDataService QDataServ { get; set; } = null!; + [Inject] + protected WebDoorCreatorService WDService { get; set; } = null!; protected async Task addOrRemoveOneDoorNumber(bool isAdd) { //var door = new DoorModel(); @@ -89,18 +69,42 @@ namespace WebDoorCreator.UI.Components.DoorMan await ReloadData(); } } + protected async Task ChangeDoorNumber(bool isAdd) { - //var door = new DoorModel(); var done = await WDService.DoorModQty(doorQty, CurrDoor.OrderId, CurrDoor.DoorId, isAdd); if (done) { - //await E_isChange.InvokeAsync(true); await ReloadData(); } } - protected int newDoorId { get; set; } = 0; + protected async Task closeModal() + { + await Task.Delay(1); + var fakeDoor = new DoorModel(); + + await E_DoorClose.InvokeAsync(fakeDoor); + } + + /// + /// Elimina porta se richiesto + /// + /// + protected async Task deleteRecord() + { + if (!await JSRuntime.InvokeAsync("confirm", $"Do you really want to delete this door?")) + return; + await Task.Delay(1); + if (CurrDoor != null) + { + var done = await WDService.DoorDelete(CurrDoor); + if (done) + { + await closeModal(); + } + } + } /// /// Clona la porta selezionata con annesse door operations @@ -140,8 +144,6 @@ namespace WebDoorCreator.UI.Components.DoorMan } } - protected List ordListVal { get; set; } = new List(); - /// /// Effettua salvataggio record e generazione DDF /// @@ -169,7 +171,6 @@ namespace WebDoorCreator.UI.Components.DoorMan 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); @@ -181,50 +182,38 @@ namespace WebDoorCreator.UI.Components.DoorMan } } - - - /// - /// Path del servizio di recupero SVG delle porte - /// - /// -#if false - protected string DoorSvgUrl() + protected override async Task OnInitializedAsync() { - return $"api/DoorImage/GetImage.svg?DoorId={CurrDoorId}"; - } -#endif - - [Inject] - protected QueueDataService QDataServ { get; set; } = null!; - - protected bool IsErr { get; set; } = false; - - protected List doorOps2Add = new List(); - protected int doorQty + 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 override async Task OnParametersSetAsync() { - get => CurrDoor.Quantity; - set => CurrDoor.Quantity = value; + await Task.Delay(1); + await ReloadData(); } - [Inject] - protected IJSRuntime JSRuntime { get; set; } = null!; - /// - /// Elimina porta se richiesto - /// - /// - protected async Task deleteRecord() + protected async Task ReloadData() { - if (!await JSRuntime.InvokeAsync("confirm", $"Do you really want to delete this door?")) - return; - await Task.Delay(1); - if (CurrDoor != null) + var SearchRecords = await WDService.DoorGetByOrderId(OrderId); + if (SearchRecords != null) { - var done = await WDService.DoorDelete(CurrDoor); - if (done) + DoorsList = SearchRecords; + + if (DoorsList != null) { - await closeModal(); + var door = DoorsList.Where(x => x.DoorId == CurrDoorId).FirstOrDefault(); + if (door != null) + { + CurrDoor = door; + } } } + CurrDoorClone = CurrDoor.ObjClone(""); } } } \ No newline at end of file diff --git a/WebDoorCreator.UI/Components/Filters/OrderFilter.razor b/WebDoorCreator.UI/Components/Filters/OrderFilter.razor index 43a0c27..cac7c97 100644 --- a/WebDoorCreator.UI/Components/Filters/OrderFilter.razor +++ b/WebDoorCreator.UI/Components/Filters/OrderFilter.razor @@ -28,7 +28,6 @@ } } - @**@
diff --git a/WebDoorCreator.UI/Components/Filters/OrderFilter.razor.cs b/WebDoorCreator.UI/Components/Filters/OrderFilter.razor.cs index 0b6c981..2230288 100644 --- a/WebDoorCreator.UI/Components/Filters/OrderFilter.razor.cs +++ b/WebDoorCreator.UI/Components/Filters/OrderFilter.razor.cs @@ -7,40 +7,16 @@ namespace WebDoorCreator.UI.Components.Filters { public partial class OrderFilter { - [Parameter] - public EventCallback FilterUpdated { get; set; } + private List? ListValuesAll = null; [Parameter] public OrderSelectFilter actFilter { get; set; } = new OrderSelectFilter(); - private List? ListValuesAll = null; - protected override async Task OnParametersSetAsync() - { - ListValuesAll = await WDService.ListValuesGetAll("All", "OrderStep"); - } + + [Parameter] + public EventCallback FilterUpdated { get; set; } [Inject] protected WebDoorCreatorService WDService { get; set; } = null!; - private string searchVal - { - get => actFilter.searchValue; - set - { - actFilter.CurrPage = 1; - actFilter.searchValue = value; - StateHasChanged(); - ReportChange(); - } - } - private int orderStatus - { - get => actFilter.OrderStatus; - set - { - actFilter.CurrPage = 1; - actFilter.OrderStatus = value; - StateHasChanged(); - ReportChange(); - } - } + private DateTime dateFrom { get => actFilter.DateFrom; @@ -52,6 +28,7 @@ namespace WebDoorCreator.UI.Components.Filters ReportChange(); } } + private DateTime dateTo { get => actFilter.DateTo; @@ -64,7 +41,34 @@ namespace WebDoorCreator.UI.Components.Filters } } + private int orderStatus + { + get => actFilter.OrderStatus; + set + { + actFilter.CurrPage = 1; + actFilter.OrderStatus = value; + StateHasChanged(); + ReportChange(); + } + } + private string searchVal + { + get => actFilter.searchValue; + set + { + actFilter.CurrPage = 1; + actFilter.searchValue = value; + StateHasChanged(); + ReportChange(); + } + } + + protected override async Task OnParametersSetAsync() + { + ListValuesAll = await WDService.ListValuesGetAll("All", "OrderStep"); + } private void ReportChange() { FilterUpdated.InvokeAsync(actFilter); diff --git a/WebDoorCreator.UI/Components/Gen/NavMenuHorizontal.razor b/WebDoorCreator.UI/Components/Gen/NavMenuHorizontal.razor index 7a44d62..8488e4d 100644 --- a/WebDoorCreator.UI/Components/Gen/NavMenuHorizontal.razor +++ b/WebDoorCreator.UI/Components/Gen/NavMenuHorizontal.razor @@ -32,12 +32,6 @@
- - @**@
@@ -100,41 +94,6 @@
- @*
-
- @context.User.Identity?.Name -
- @if (listCompanies != null) - { - @if (listCompanies.Count > 1) - { - - } - else - { - @if (compToShow != null) - { -
@compToShow.CompanyName
- } - } - } -
-
- -
-
-
- -
-
*@
diff --git a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor index f3d6b84..3f3ac6e 100644 --- a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor +++ b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor @@ -8,7 +8,6 @@ else
- @*
*@
@($"{translate(DoorOpInst.ObjectId)} #{instanceN}") @@ -155,11 +154,6 @@ else
- @*
- -
*@
- } - - *@ - - - - } + } + + } diff --git a/WebDoorCreator.UI/Components/Order/OrderList.razor.cs b/WebDoorCreator.UI/Components/Order/OrderList.razor.cs index c07f55a..49c9a1f 100644 --- a/WebDoorCreator.UI/Components/Order/OrderList.razor.cs +++ b/WebDoorCreator.UI/Components/Order/OrderList.razor.cs @@ -1,18 +1,11 @@ using EgwCoreLib.Razor; using Microsoft.AspNetCore.Components; -using Microsoft.AspNetCore.Components.Authorization; using Microsoft.AspNetCore.Components.Web; -using Microsoft.AspNetCore.DataProtection; -using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.WebUtilities; -using Microsoft.Build.Framework; using Microsoft.JSInterop; -using NLog.LayoutRenderers; -using System.Linq; using WebDoorCreator.Data.DbModels; using WebDoorCreator.Data.Services; using WebDoorCreator.UI.Data; -using static Microsoft.AspNetCore.Razor.Language.TagHelperMetadata; using static WebDoorCreator.Core.Enum; namespace WebDoorCreator.UI.Components.Order @@ -21,11 +14,17 @@ namespace WebDoorCreator.UI.Components.Order { [Parameter] public bool B_doorChaged { get; set; } + [Parameter] public EventCallback E_currOrderStatus { get; set; } + public int Height { get; set; } + + public string reportBaseUrl { get; set; } = "http://w2019-sql-steam/reportserver?/Test/WebDoor/"; + [Parameter] public int UserCurrCompany { get; set; } + #region Protected Properties private bool sortAsc = true; @@ -35,13 +34,13 @@ namespace WebDoorCreator.UI.Components.Order [Parameter] public OrderSelectFilter actFilter { get; set; } = new OrderSelectFilter(); - [Parameter] - public EventCallback updateRecordCount { get; set; } [Parameter] public EventCallback E_SetOrd2Show { get; set; } public OrderStatusViewModel? Ord2Show { get; set; } + [Parameter] + public EventCallback updateRecordCount { get; set; } protected string currUser { get; set; } = ""; [Inject] @@ -49,6 +48,7 @@ namespace WebDoorCreator.UI.Components.Order [Inject] protected WebDoorCreatorService WDService { get; set; } = null!; + private int _totalCount { get; set; } = 0; private int currPage @@ -106,6 +106,7 @@ namespace WebDoorCreator.UI.Components.Order sortAsc = e.IsAscending; await ReloadData(); } + #endregion Protected Properties #region Protected Methods @@ -131,6 +132,9 @@ namespace WebDoorCreator.UI.Components.Order protected bool isModRole { get; set; } = false; + [Inject] + protected NavigationManager NavManager { get; set; } = null!; + protected bool ordByCode { get; set; } = false; protected bool ordByDate { get; set; } = false; @@ -155,7 +159,6 @@ namespace WebDoorCreator.UI.Components.Order protected async Task deleteRecord(OrderStatusViewModel currRec) { - if (!await JSRuntime.InvokeAsync("confirm", $"Order Deletion requested: are you sure to remove {currRec.OrderExtCode}?")) return; @@ -219,6 +222,7 @@ namespace WebDoorCreator.UI.Components.Order return answ; } + private async Task ReloadData() { ListOrdersStatus = null; @@ -265,6 +269,7 @@ namespace WebDoorCreator.UI.Components.Order ListOrdersStatus = ListOrdersStatus.OrderByDescending(x => x.DateIns).ToList(); } break; + case "OrderNumber": if (sortAsc) { @@ -275,12 +280,12 @@ namespace WebDoorCreator.UI.Components.Order ListOrdersStatus = ListOrdersStatus.OrderByDescending(x => x.OrderExtCode).ToList(); } break; + default: ListOrdersStatus = ListOrdersStatus.OrderByDescending(x => x.DateIns).ToList(); break; } } - } } @@ -293,11 +298,16 @@ namespace WebDoorCreator.UI.Components.Order await Task.Delay(1); await InvokeAsync(StateHasChanged); } + #endregion Private Methods + + public int Width { get; set; } [Inject] - protected NavigationManager NavManager { get; set; } = null!; + protected IJSRuntime JsRuntime { get; set; } = null!; - #endregion Private Methods + protected int screenX { get; set; } = 0; + + protected int screenY { get; set; } = 0; protected string getOrderStatusLabel(int orderStat) { @@ -314,9 +324,6 @@ namespace WebDoorCreator.UI.Components.Order return answ; } - - public string reportBaseUrl { get; set; } = "http://w2019-sql-steam/reportserver?/Test/WebDoor/"; - protected string reportUrl(int orderId) { return $"{reportBaseUrl}ReportOrder&OrderID={orderId}&rs:Command=Render&rs:format=PDF"; @@ -335,22 +342,6 @@ namespace WebDoorCreator.UI.Components.Order } } } - - protected int screenX { get; set; } = 0; - protected int screenY { get; set; } = 0; - - private void getElementCoords(MouseEventArgs e) - { - screenX = (int)(e.ClientX); - screenY = (int)(e.ClientY); - } - - public int Height { get; set; } - public int Width { get; set; } - - [Inject] - protected IJSRuntime JsRuntime { get; set; } = null!; - private async Task getDim() { var dimension = await JsRuntime.InvokeAsync("getWindowDimensions"); @@ -358,11 +349,15 @@ namespace WebDoorCreator.UI.Components.Order Width = dimension.Width; } + private void getElementCoords(MouseEventArgs e) + { + screenX = (int)(e.ClientX); + screenY = (int)(e.ClientY); + } public class WindowDimension { - public int Width { get; set; } public int Height { get; set; } + public int Width { get; set; } } - } } \ No newline at end of file diff --git a/WebDoorCreator.UI/Components/Order/OrderStatusStep.razor.cs b/WebDoorCreator.UI/Components/Order/OrderStatusStep.razor.cs index 67d0361..de68728 100644 --- a/WebDoorCreator.UI/Components/Order/OrderStatusStep.razor.cs +++ b/WebDoorCreator.UI/Components/Order/OrderStatusStep.razor.cs @@ -1,38 +1,29 @@ using Microsoft.AspNetCore.Components; -using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage; using WebDoorCreator.Data.DbModels; using WebDoorCreator.Data.Services; -using WebDoorCreator.UI.Data; namespace WebDoorCreator.UI.Components.Order { public partial class OrderStatusStep { - - [Inject] - protected WebDoorCreatorService WDService { get; set; } = null!; - [Parameter] public int CurrOrderStatus { get; set; } = 10; [Parameter] public EventCallback E_CurrStepColor { get; set; } - protected override async Task OnParametersSetAsync() - { - await Task.Delay(1); - } + protected string currColor { get; set; } = ""; + protected List? currListOrderStatus { get; set; } = null; + + [Inject] + protected WebDoorCreatorService WDService { get; set; } = null!; protected async Task doChangeStep(string actDoorDefStep) { await Task.Delay(1); - //await E_StepChanged.InvokeAsync(actDoorDefStep); } - protected List? currListOrderStatus { get; set; } = null; - protected string currColor { get; set; } = ""; - protected override async Task OnInitializedAsync() { await Task.Delay(1); @@ -50,5 +41,9 @@ namespace WebDoorCreator.UI.Components.Order } } + protected override async Task OnParametersSetAsync() + { + await Task.Delay(1); + } } } \ No newline at end of file diff --git a/WebDoorCreator.UI/Components/Report/ReportList.razor.cs b/WebDoorCreator.UI/Components/Report/ReportList.razor.cs index 418952e..874f719 100644 --- a/WebDoorCreator.UI/Components/Report/ReportList.razor.cs +++ b/WebDoorCreator.UI/Components/Report/ReportList.razor.cs @@ -1,7 +1,4 @@ using Microsoft.AspNetCore.Components; -using Microsoft.AspNetCore.Razor.Language.Extensions; -using Microsoft.Build.Framework; -using Microsoft.CodeAnalysis.CSharp.Syntax; using WebDoorCreator.Data.DbModels; using WebDoorCreator.Data.Services; using WebDoorCreator.UI.Data; @@ -20,6 +17,7 @@ namespace WebDoorCreator.UI.Components.Report [Inject] protected WebDoorCreatorService WDService { get; set; } = null!; + [Inject] protected WDCVocabularyService WDVService { get; set; } = null!; @@ -37,7 +35,6 @@ namespace WebDoorCreator.UI.Components.Report } return answ; - } protected string getTranslatedLabel(string HwId) @@ -49,14 +46,13 @@ namespace WebDoorCreator.UI.Components.Report var hw2Translate = listHw.FirstOrDefault(); if (hw2Translate != null) { - answ = translate(hw2Translate.Label); } } return answ; } - protected async override Task OnParametersSetAsync() + protected override async Task OnParametersSetAsync() { var result = await WDService.DoorOpGetByDoorId(doorId); if (result != null) @@ -64,6 +60,7 @@ namespace WebDoorCreator.UI.Components.Report DoorOps = result.Where(x => x.ObjectId != "Size" && x.ObjectId != "Profiles" && x.ObjectId != "Swing" && x.ObjectId != "Properties" && x.ObjectId != "Finishing").ToList(); } } + protected string translate(string lemma) { string answ = ""; diff --git a/WebDoorCreator.UI/Pages/HwPdfConfirm.razor.cs b/WebDoorCreator.UI/Pages/HwPdfConfirm.razor.cs index 37bb141..f805d66 100644 --- a/WebDoorCreator.UI/Pages/HwPdfConfirm.razor.cs +++ b/WebDoorCreator.UI/Pages/HwPdfConfirm.razor.cs @@ -9,20 +9,75 @@ namespace WebDoorCreator.UI.Pages { public partial class HwPdfConfirm { + protected int doorId = 0; + + protected string objectId = ""; + + protected List allDoorOps { get; set; } = new List(); + + protected DoorOpModel currDoorOp { get; set; } = new DoorOpModel(); + + protected int doorOpId { get; set; } = 0; + [Inject] protected NavigationManager NavManager { get; set; } = null!; - [Inject] - protected WDCUserService WDCUService { get; set; } = null!; + + protected string userLang + { + get => WDCUService.currLanguage ?? "EN"; + set => WDCUService.currLanguage = value; + } + [Inject] protected WDCRefreshService WDCRService { get; set; } = null!; - protected int doorOpId { get; set; } = 0; - protected int doorId = 0; - protected string objectId = ""; - protected DoorOpModel currDoorOp { get; set; } = new DoorOpModel(); - protected List allDoorOps { get; set; } = new List(); + [Inject] + protected WDCUserService WDCUService { get; set; } = null!; + [Inject] + protected WDCRefreshService WDRService { get; set; } = null!; - protected async override Task OnInitializedAsync() + [Inject] + protected WebDoorCreatorService WDService { get; set; } = null!; + + protected bool checkIfConf() + { + bool answ = false; + if (allDoorOps != null) + { + var rawObj = JsonConvert.DeserializeObject>>(currDoorOp.JsoncActVal!); + if (rawObj != null) + { + foreach (var op in allDoorOps) + { + var opObj = JsonConvert.DeserializeObject>>(op.JsoncActVal!); + if (opObj != null) + { + if (rawObj["template"] == opObj["template"] && op.DtConfirm != null && op.userConfirm != "") + { + answ = true; + } + } + } + } + } + return answ; + } + + protected async Task doConfirm() + { + currDoorOp.userConfirm = WDCUService.userId; + currDoorOp.DtConfirm = DateTime.Now; + + var doorOps2Save = new List() { currDoorOp }; + + var done = await WDService.DoorOpUpdate(doorOps2Save); + if (done) + { + WDRService.ReportDoorOpConf(doorId, doorOpId, objectId); + } + } + + protected override async Task OnInitializedAsync() { await Task.Delay(1); var uri = NavManager.ToAbsoluteUri(NavManager.Uri); @@ -41,7 +96,6 @@ namespace WebDoorCreator.UI.Pages doorOpId = int.Parse(sDoorOpId); await ReloadData(); } - } protected async Task ReloadData() @@ -50,59 +104,8 @@ namespace WebDoorCreator.UI.Pages if (currDoorOp != null) { allDoorOps = await WDService.DoorOpGetByDoorId(currDoorOp.DoorId); - } await Task.Delay(1); } - [Inject] - protected WebDoorCreatorService WDService { get; set; } = null!; - [Inject] - protected WDCRefreshService WDRService { get; set; } = null!; - - protected async Task doConfirm() - { - currDoorOp.userConfirm = WDCUService.userId; - currDoorOp.DtConfirm = DateTime.Now; - - var doorOps2Save = new List() { currDoorOp }; - - var done = await WDService.DoorOpUpdate(doorOps2Save); - if (done) - { - WDRService.ReportDoorOpConf(doorId, doorOpId, objectId); - } - } - - protected string userLang - { - get => WDCUService.currLanguage ?? "EN"; - set => WDCUService.currLanguage = value; - } - - protected bool checkIfConf() - { - bool answ = false; - if (allDoorOps != null) - { - var rawObj = JsonConvert.DeserializeObject>>(currDoorOp.JsoncActVal!); - if (rawObj != null) - { - foreach (var op in allDoorOps) - { - var opObj = JsonConvert.DeserializeObject>>(op.JsoncActVal!); - if (opObj != null) - { - - if (rawObj["template"] == opObj["template"] && op.DtConfirm != null && op.userConfirm != "") - { - answ = true; - } - } - } - } - } - return answ; - } - } } \ No newline at end of file diff --git a/WebDoorCreator.UI/Pages/Index.razor.cs b/WebDoorCreator.UI/Pages/Index.razor.cs index 5fa1a39..d0202e5 100644 --- a/WebDoorCreator.UI/Pages/Index.razor.cs +++ b/WebDoorCreator.UI/Pages/Index.razor.cs @@ -1,31 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; using Microsoft.AspNetCore.Components; -using System.Net.Http; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Components.Authorization; -using Microsoft.AspNetCore.Components.Forms; -using Microsoft.AspNetCore.Components.Routing; -using Microsoft.AspNetCore.Components.Web; -using Microsoft.AspNetCore.Components.Web.Virtualization; -using Microsoft.JSInterop; -using WebDoorCreator.UI; -using WebDoorCreator.UI.Components; -using WebDoorCreator.UI.Components.Buttons; -using WebDoorCreator.UI.Components.CompMan; -using WebDoorCreator.UI.Components.DoorMan; -using WebDoorCreator.UI.Components.DoorDef; -using WebDoorCreator.UI.Components.Gen; -using WebDoorCreator.UI.Components.Order; -using WebDoorCreator.UI.Components.Users; -using WebDoorCreator.UI.Components.Hardware; -using WebDoorCreator.UI.Components.SvgComp; -using WebDoorCreator.UI.Components.Filters; -using WebDoorCreator.UI.Shared; -using WebDoorCreator.Data.DbModels; -using EgwCoreLib.Razor; namespace WebDoorCreator.UI.Pages { @@ -33,6 +6,7 @@ namespace WebDoorCreator.UI.Pages { [Inject] protected NavigationManager NavManager { get; set; } = null!; + protected async Task changePage(bool newPage) { await Task.Delay(1); diff --git a/WebDoorCreator.UI/Pages/Utils.razor.cs b/WebDoorCreator.UI/Pages/Utils.razor.cs index 91012e5..fd2ab64 100644 --- a/WebDoorCreator.UI/Pages/Utils.razor.cs +++ b/WebDoorCreator.UI/Pages/Utils.razor.cs @@ -1,27 +1,62 @@ 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 string _keyWord { get; set; } = ""; + [Inject] + protected IConfiguration config { get; set; } = null!; + + protected WebDoorCreator.Data.DDF.Converter currDdfConv { get; set; } = null!; + protected bool done { get; set; } = false; protected List? DoorOpsList { get; set; } protected List DoorsList { get; set; } = new List(); + protected string keyWord + { + get => _keyWord; + set => _keyWord = value; + } + + protected List listOp { get; set; } = new List(); + protected List listOpAll { get; set; } = new List(); + [Inject] + protected NavigationManager NavManager { get; set; } = null!; + 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!; + + [Inject] + protected WebDoorCreatorService WDService { get; set; } = null!; + + public async Task flushCache() + { + await Task.Delay(1); + await WDService.FlushRedisCache(); + await Task.Delay(1); + // rimando a pagina corrente + NavManager.NavigateTo("/", true); + } + + public async Task FlushCustomPattern() + { + await Task.Delay(1); + await WDService.FlushCustomPattern(keyWord); + await Task.Delay(1); + // rimando a pagina corrente + NavManager.NavigateTo("/", true); + } + protected async Task doorsGetAll() { await ordersGetAll(); @@ -39,24 +74,7 @@ namespace WebDoorCreator.UI.Pages } } } - } - 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 /// @@ -97,7 +115,6 @@ namespace WebDoorCreator.UI.Pages // versione corrente del DDF generato int currVers = await QDataServ.SendCalcReq(door.DoorId, currDdf); } - } } } @@ -106,44 +123,20 @@ namespace WebDoorCreator.UI.Pages done = true; } + 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 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/WebDoorCreator.UI.csproj b/WebDoorCreator.UI/WebDoorCreator.UI.csproj index 448aaaf..0ca9511 100644 --- a/WebDoorCreator.UI/WebDoorCreator.UI.csproj +++ b/WebDoorCreator.UI/WebDoorCreator.UI.csproj @@ -3,7 +3,7 @@ net6.0 enable - 0.9.2305.2319 + 0.9.2305.2408 enable aspnet-WebDoorCreator.UI-dfe95fed-1398-4144-bd43-8b3a765d6608 From c8ed62ad820c65acb5cda8c0ebd13d655ce24d86 Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Wed, 24 May 2023 15:23:15 +0200 Subject: [PATCH 003/137] fix traduzione objId e card x hw single instance --- Resources/ChangeLog.html | 2 +- Resources/VersNum.txt | 2 +- Resources/manifest.xml | 2 +- .../Components/Buttons/ButtonsDoorDef.razor | 1 + .../Buttons/ButtonsDoorDef.razor.cs | 8 ++ .../Components/DoorDef/BaseParamList.razor | 2 +- .../Hardware/HwSingleInstance.razor | 127 +++++++++++++++++- .../Hardware/HwSingleInstance.razor.cs | 21 +++ .../Hardware/HwSingleInstance.razor.css | 56 ++++++-- .../Hardware/HwSingleInstance.razor.less | 60 +++++++-- .../Hardware/HwSingleInstance.razor.min.css | 2 +- WebDoorCreator.UI/WebDoorCreator.UI.csproj | 2 +- 12 files changed, 257 insertions(+), 28 deletions(-) diff --git a/Resources/ChangeLog.html b/Resources/ChangeLog.html index c871405..f38ebb8 100644 --- a/Resources/ChangeLog.html +++ b/Resources/ChangeLog.html @@ -1,6 +1,6 @@ WebDoorCreator - Egalware -

Version: 0.9.2305.2408

+

Version: 0.9.2305.2414


Release note:
  • diff --git a/Resources/VersNum.txt b/Resources/VersNum.txt index e1a89da..cce2aac 100644 --- a/Resources/VersNum.txt +++ b/Resources/VersNum.txt @@ -1 +1 @@ -0.9.2305.2408 +0.9.2305.2414 diff --git a/Resources/manifest.xml b/Resources/manifest.xml index 3f0d41f..27d9ce1 100644 --- a/Resources/manifest.xml +++ b/Resources/manifest.xml @@ -1,6 +1,6 @@ - 0.9.2305.2408 + 0.9.2305.2414 http://nexus.steamware.net/repository/SWS/WDC/stable/WDC.UI.zip http://nexus.steamware.net/repository/SWS/WDC/stable/ChangeLog.html false diff --git a/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor b/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor index 6b708b4..991304b 100644 --- a/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor +++ b/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor @@ -2,6 +2,7 @@ @if (B_doorOpUpd || true) { + @if (IsErr) { diff --git a/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor.cs b/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor.cs index 84fd2c3..d8e866a 100644 --- a/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor.cs +++ b/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor.cs @@ -126,6 +126,14 @@ namespace WebDoorCreator.UI.Components.Buttons } } + + protected async Task doRecalcAll() + { + await Task.Delay(1); + await QDataServ.ResetQueue(); + await doSave(); + } + protected override void OnInitialized() { base.OnInitialized(); diff --git a/WebDoorCreator.UI/Components/DoorDef/BaseParamList.razor b/WebDoorCreator.UI/Components/DoorDef/BaseParamList.razor index 5f1f344..4ab9d6e 100644 --- a/WebDoorCreator.UI/Components/DoorDef/BaseParamList.razor +++ b/WebDoorCreator.UI/Components/DoorDef/BaseParamList.razor @@ -13,7 +13,7 @@ else }
- + @**@
@if (paramsChanged) diff --git a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor index 3f3ac6e..3a4e322 100644 --- a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor +++ b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor @@ -4,7 +4,7 @@ } else { -
+ @*
@@ -168,6 +168,131 @@ else }
+
*@ + +
+ +
+ @if (DoorOpInst.userConfirm != "" && DoorOpInst.DtConfirm != null) + { + + } +
+
@($"{@getTrad(DoorOpInst.ObjectId)} #{instanceN}")
+
+ @if (isChangedVal()) + { +
+ } + else + { +
+ } +
+ +
+
+ Folder +
+ +
+
+
+ Folder +
+ @if (listValuesFiles != null && listValuesFiles.Count > 0 && !string.IsNullOrEmpty(templateName)) + { + + } + else + { + + } +
+
+ + @foreach (var item in currVal) + { + + @if (item.Key != "Folder" && item.Key != "template" && item.Key != "shape") + { + @if (isCombo(item.Key)) + { +
+
+ @translate(item.Key) +
+ + +
+ } + else + { +
+
+ @translate(item.Key) +
+ + +
+ } + } + } +
+
+
+
+ + +
+
+ @if (isChangedVal()) + { + + + } + else + { + + + } +
+
+
} diff --git a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs index 8c512c2..f543625 100644 --- a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs +++ b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs @@ -80,6 +80,7 @@ namespace WebDoorCreator.UI.Components.Hardware protected IJSRuntime JSRuntime { get; set; } = null!; protected List? listValuesFiles { get; set; } = null!; + protected List? listValuesHW { get; set; } = null!; protected List? listValuesFname { get; set; } = null!; @@ -261,6 +262,9 @@ namespace WebDoorCreator.UI.Components.Hardware await Task.Delay(1); // fix folder listValuesFiles = null; + listValuesHW = null; + listValuesHW = await WDCService.ListValuesGetAll(HwCode, "Hardware"); + var tempListVal = await WDCService.ListValuesGetAll(HwCode, "Folder"); if (tempListVal != null) { @@ -304,6 +308,23 @@ namespace WebDoorCreator.UI.Components.Hardware await InvokeAsync(StateHasChanged); } + + protected string getTrad(string objId) + { + string answ = ""; + + if (listValuesHW != null) + { + var currHw2Trad = listValuesHW.Where(x => x.TableName == objId).FirstOrDefault(); + if(currHw2Trad != null) + { + answ = translate(currHw2Trad.Label); + } + } + + return answ; + } + #endregion Private Methods } } \ No newline at end of file diff --git a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.css b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.css index f2ebe11..34a38a8 100644 --- a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.css +++ b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.css @@ -1,4 +1,11 @@ -.btnGen { +.btnPDF { + border-radius: 50%; + width: 1.5rem; + height: 1.5rem; + border: 2px solid #00838F; + z-index: 99999; +} +.btnGen { border-radius: 50%; width: 3.5rem; height: 3.5rem; @@ -12,7 +19,7 @@ border: 5px solid #00838F; z-index: 99999; background: #B71C1C; - transform: translate(25px, -1rem); + /*transform: translate(@xDelta, -@yDelta);*/ } .btnClone { border-radius: 50%; @@ -21,25 +28,26 @@ border: 5px solid #00838F; z-index: 99999; background: #FFF; - transform: translate(1.6rem, -1rem); + /*transform: translate(1.6rem, -1rem);*/ } .btnPDFSuccess { border-radius: 50%; - width: 3.5rem; - height: 3.5rem; - border: 5px solid #00838F; + width: 1.5rem; + height: 1.5rem; + border: 2px 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; + width: 1.5rem; + height: 1.5rem; + border: 2px solid #00838F; z-index: 99999; background: #F1C40F; - transform: translate(20.3rem, 1rem); +} +.btnPDFSuccess > i { + font-size: 0.8rem; } .btnHighlight { border-radius: 50%; @@ -57,7 +65,6 @@ border: 5px solid #00838F; z-index: 99999; background: var(--colorCode); - transform: translate(-7rem, 1rem); } .btnSave { border-radius: 50%; @@ -66,7 +73,6 @@ border: 5px solid #00838F; z-index: 99999; background: var(--colorCode); - transform: translate(-7.5rem, 1rem); } .btnHeadTail { width: 100%; @@ -117,4 +123,28 @@ i { justify-content: center; flex-wrap: wrap; font-size: 1.1rem; +} +.blue { + background: #3652D9; +} +.grey { + background: #7F8C8D; + opacity: 50%; +} +.circle { + width: 1rem; + height: 1rem; + border-radius: 50%; + box-shadow: 0px 0px 1px 1px #0000001a; +} +.pulse { + animation: pulse-animation 2s infinite; +} +@keyframes pulse-animation { + 0% { + box-shadow: 0 0 0 0px rgba(0, 0, 0, 0.2); + } + 100% { + box-shadow: 0 0 0 20px rgba(0, 0, 0, 0); + } } \ No newline at end of file diff --git a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.less b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.less index 4712a02..2d3b155 100644 --- a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.less +++ b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.less @@ -1,6 +1,14 @@ @xDelta: 25px; @yDelta: 1rem; +.btnPDF { + border-radius: 50%; + width: 1.5rem; + height: 1.5rem; + border: 2px solid #00838F; + z-index: 99999; +} + .btnGen { border-radius: 50%; width: 3.5rem; @@ -12,25 +20,28 @@ .btnDelete { .btnGen; background: #B71C1C; - transform: translate(@xDelta, -@yDelta); + /*transform: translate(@xDelta, -@yDelta);*/ } .btnClone { .btnGen; background: #FFF; - transform: translate(1.6rem, -1rem); + /*transform: translate(1.6rem, -1rem);*/ } .btnPDFSuccess { - .btnGen; + .btnPDF; background: #8E44AD; - transform: translate(1rem, @yDelta); } .btnPDFPending { - .btnGen; + .btnPDF; background: #F1C40F; - transform: translate(20.3rem, 1rem); + //transform: translate(20.3rem, 1rem); +} + +.btnPDFSuccess > i { + font-size: 0.8rem; } .btnHighlight { @@ -38,15 +49,15 @@ background: #03A9F4; transform: translate(10.3rem, -8rem); } + .btnCancel { .btnGen; background: var(--colorCode); - transform: translate(-7rem, 1rem); } + .btnSave { .btnGen; background: var(--colorCode); - transform: translate(-7.5rem, 1rem); } @@ -104,3 +115,36 @@ i { flex-wrap: wrap; font-size: 1.1rem; } + + + +.blue { + background: #3652D9; +} + +.grey { + background: #7F8C8D; + opacity: 50%; +} + + +.circle { + width: 1rem; + height: 1rem; + border-radius: 50%; + box-shadow: 0px 0px 1px 1px #0000001a; +} + +.pulse { + animation: pulse-animation 2s infinite; +} + +@keyframes pulse-animation { + 0% { + box-shadow: 0 0 0 0px rgba(0, 0, 0, 0.2); + } + + 100% { + box-shadow: 0 0 0 20px rgba(0, 0, 0, 0); + } +} diff --git a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.min.css b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.min.css index 34f6737..69ecf7c 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(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 +.btnPDF{border-radius:50%;width:1.5rem;height:1.5rem;border:2px solid #00838f;z-index:99999;}.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;}.btnClone{border-radius:50%;width:3.5rem;height:3.5rem;border:5px solid #00838f;z-index:99999;background:#fff;}.btnPDFSuccess{border-radius:50%;width:1.5rem;height:1.5rem;border:2px solid #00838f;z-index:99999;background:#8e44ad;}.btnPDFPending{border-radius:50%;width:1.5rem;height:1.5rem;border:2px solid #00838f;z-index:99999;background:#f1c40f;}.btnPDFSuccess>i{font-size:.8rem;}.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);}.btnSave{border-radius:50%;width:3.5rem;height:3.5rem;border:5px solid #00838f;z-index:99999;background:var(--colorCode);}.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;}.blue{background:#3652d9;}.grey{background:#7f8c8d;opacity:50%;}.circle{width:1rem;height:1rem;border-radius:50%;box-shadow:0 0 1px 1px #0000001a;}.pulse{animation:pulse-animation 2s infinite;}@keyframes pulse-animation{0%{box-shadow:0 0 0 0 rgba(0,0,0,.2);}100%{box-shadow:0 0 0 20px rgba(0,0,0,0);}} \ No newline at end of file diff --git a/WebDoorCreator.UI/WebDoorCreator.UI.csproj b/WebDoorCreator.UI/WebDoorCreator.UI.csproj index 0ca9511..2ae41a6 100644 --- a/WebDoorCreator.UI/WebDoorCreator.UI.csproj +++ b/WebDoorCreator.UI/WebDoorCreator.UI.csproj @@ -3,7 +3,7 @@ net6.0 enable - 0.9.2305.2408 + 0.9.2305.2414 enable aspnet-WebDoorCreator.UI-dfe95fed-1398-4144-bd43-8b3a765d6608 From 77a7294cf09f87f6f12ac3023f30ef8634ed9277 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 24 May 2023 15:51:08 +0200 Subject: [PATCH 004/137] Aggiunta servizio queue x reset da lista doors --- .../Services/QueueDataService.cs | 56 ++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/WebDoorCreator.Data/Services/QueueDataService.cs b/WebDoorCreator.Data/Services/QueueDataService.cs index 0e85eaf..ca28e3d 100644 --- a/WebDoorCreator.Data/Services/QueueDataService.cs +++ b/WebDoorCreator.Data/Services/QueueDataService.cs @@ -605,6 +605,60 @@ namespace WebDoorCreator.Data.Services return numReq; } + /// + /// Reset to queue request for specified DoorIdList + /// + /// Dictionary of DoorId, saveVersNumb + public async Task ResetQueueByDoorList(List DoorIdList) + { + bool fatto = false; + await Task.Delay(1); + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + // cerco le richieste processing + RedisKey currKey = new RedisKey(Constants.CALC_REQ_PROC); + var rawData = await redisDb.HashGetAllAsync(currKey); + foreach (var item in rawData) + { + // se è nell'elenco... + if (DoorIdList.Contains($"{item.Name}")) + { + await RequestPendingUpsert(item.Name!, item.Value!); + await RequestProcessingRemove(item.Name!); + fatto = true; + } + } + // cerco le richieste con errori + currKey = new RedisKey(Constants.CALC_REQ_ERRS); + rawData = await redisDb.HashGetAllAsync(currKey); + foreach (var item in rawData) + { + // se è nell'elenco... + if (DoorIdList.Contains($"{item.Name}")) + { + await RequestPendingUpsert(item.Name!, item.Value!); + await RequestErrRemove(item.Name!); + fatto = true; + } + } + // cerco le richieste processed + currKey = new RedisKey(Constants.CALC_REQ_DONE); + rawData = await redisDb.HashGetAllAsync(currKey); + foreach (var item in rawData) + { + // se è nell'elenco... + if (DoorIdList.Contains($"{item.Name}")) + { + await RequestPendingUpsert(item.Name!, item.Value!); + await RequestDoneRemove(item.Name!); + fatto = true; + } + } + stopWatch.Stop(); + TimeSpan ts = stopWatch.Elapsed; + Log.Debug($"ResetQueueByDoorList | doors #: {DoorIdList.Count} | EXEC in: {ts.TotalMilliseconds} ms"); + return fatto; + } /// /// Reset to queue request all processing/processed data /// @@ -644,7 +698,7 @@ namespace WebDoorCreator.Data.Services } stopWatch.Stop(); TimeSpan ts = stopWatch.Elapsed; - Log.Debug($"ResetQueue | REDIS in: {ts.TotalMilliseconds} ms"); + Log.Debug($"ResetQueue | REDIS EXEC in: {ts.TotalMilliseconds} ms"); return fatto; } From 1beb1c54d454f449f8ea823384e8745e00e4452b Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Wed, 24 May 2023 15:51:44 +0200 Subject: [PATCH 005/137] Aggiunto pulsante recalc --- .../Components/DoorMan/DoorList.razor | 22 ++- .../Components/DoorMan/DoorList.razor.cs | 9 ++ .../Components/DoorMan/DoorList.razor.css | 118 +++++++++++++++ .../Components/DoorMan/DoorList.razor.less | 140 ++++++++++++++++++ .../Components/DoorMan/DoorList.razor.min.css | 1 + WebDoorCreator.UI/compilerconfig.json | 4 + .../images/icons/arrows-rotate-solid.svg | 1 + .../wwwroot/images/icons/file-pdf-regular.svg | 1 + 8 files changed, 294 insertions(+), 2 deletions(-) create mode 100644 WebDoorCreator.UI/Components/DoorMan/DoorList.razor.css create mode 100644 WebDoorCreator.UI/Components/DoorMan/DoorList.razor.less create mode 100644 WebDoorCreator.UI/Components/DoorMan/DoorList.razor.min.css create mode 100644 WebDoorCreator.UI/wwwroot/images/icons/arrows-rotate-solid.svg create mode 100644 WebDoorCreator.UI/wwwroot/images/icons/file-pdf-regular.svg diff --git a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor index 352cda6..4fca24f 100644 --- a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor +++ b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor @@ -2,15 +2,33 @@ { @if (orderStatus == 10) { + @if(isRecalc) + { +
+
+
+ Loading... + +
+
+
+ } +
- +
- + +
+
+ +
+
+
} diff --git a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.cs b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.cs index 4ed2cea..09612cb 100644 --- a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.cs +++ b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.cs @@ -98,6 +98,15 @@ namespace WebDoorCreator.UI.Components.DoorMan } } + protected bool isRecalc { get; set; } = false; + protected async void recalcSVGs(string message) + { + isRecalc = true; + await Task.Delay(4000); + isRecalc = false; + await InvokeAsync(StateHasChanged); + } + protected async Task deleteRecord(DoorModel currRec) { if (!await JSRuntime.InvokeAsync("confirm", $"Door Deletion requested: are you sure to remove {currRec.DoorDescript}?")) diff --git a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.css b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.css new file mode 100644 index 0000000..6256462 --- /dev/null +++ b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.css @@ -0,0 +1,118 @@ +.modalOrd { + position: fixed; + z-index: 9999; + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: auto; + background-color: #000000; + background-color: rgba(0, 0, 0, 0.6); +} +.loader { + width: 80px; + height: 50px; + position: relative; +} +.loader-text { + position: absolute; + top: 0; + padding: 0; + margin: 0; + color: #C8B6FF; + animation: text_713 3.5s ease both infinite; + font-size: 0.8rem; + letter-spacing: 1px; +} +.load { + background-color: #9A79FF; + border-radius: 50px; + display: block; + height: 16px; + width: 16px; + bottom: 0; + position: absolute; + transform: translateX(64px); + animation: loading_713 3.5s ease both infinite; +} +.load::before { + position: absolute; + content: ""; + width: 100%; + height: 100%; + background-color: #D1C2FF; + border-radius: inherit; + animation: loading2_713 3.5s ease both infinite; +} +@keyframes text_713 { + 0% { + letter-spacing: 1px; + transform: translateX(0px); + } + 40% { + letter-spacing: 2px; + transform: translateX(26px); + } + 80% { + letter-spacing: 1px; + transform: translateX(32px); + } + 90% { + letter-spacing: 2px; + transform: translateX(0px); + } + 100% { + letter-spacing: 1px; + transform: translateX(0px); + } +} +@keyframes loading_713 { + 0% { + width: 16px; + transform: translateX(0px); + } + 40% { + width: 100%; + transform: translateX(0px); + } + 80% { + width: 16px; + transform: translateX(64px); + } + 90% { + width: 100%; + transform: translateX(0px); + } + 100% { + width: 16px; + transform: translateX(0px); + } +} +@keyframes loading2_713 { + 0% { + transform: translateX(0px); + width: 16px; + } + 40% { + transform: translateX(0%); + width: 80%; + } + 80% { + width: 100%; + transform: translateX(0px); + } + 90% { + width: 80%; + transform: translateX(15px); + } + 100% { + transform: translateX(0px); + width: 16px; + } +} +/* Modal Content/Box */ +.modalOrd-content { + margin: 20% auto; + padding-left: 20%; + width: 50%; +} \ No newline at end of file diff --git a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.less b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.less new file mode 100644 index 0000000..c910523 --- /dev/null +++ b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.less @@ -0,0 +1,140 @@ +.modalOrd { + //display: none; + position: fixed; + z-index: 9999; + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: auto; + background-color: rgb(0,0,0); + background-color: rgba(0,0,0,0.6); +} + + +.loader { + width: 80px; + height: 50px; + position: relative; +} + +.loader-text { + position: absolute; + top: 0; + padding: 0; + margin: 0; + color: #C8B6FF; + animation: text_713 3.5s ease both infinite; + font-size: .8rem; + letter-spacing: 1px; +} + +.load { + background-color: #9A79FF; + border-radius: 50px; + display: block; + height: 16px; + width: 16px; + bottom: 0; + position: absolute; + transform: translateX(64px); + animation: loading_713 3.5s ease both infinite; +} + +.load::before { + position: absolute; + content: ""; + width: 100%; + height: 100%; + background-color: #D1C2FF; + border-radius: inherit; + animation: loading2_713 3.5s ease both infinite; +} + +@keyframes text_713 { + 0% { + letter-spacing: 1px; + transform: translateX(0px); + } + + 40% { + letter-spacing: 2px; + transform: translateX(26px); + } + + 80% { + letter-spacing: 1px; + transform: translateX(32px); + } + + 90% { + letter-spacing: 2px; + transform: translateX(0px); + } + + 100% { + letter-spacing: 1px; + transform: translateX(0px); + } +} + +@keyframes loading_713 { + 0% { + width: 16px; + transform: translateX(0px); + } + + 40% { + width: 100%; + transform: translateX(0px); + } + + 80% { + width: 16px; + transform: translateX(64px); + } + + 90% { + width: 100%; + transform: translateX(0px); + } + + 100% { + width: 16px; + transform: translateX(0px); + } +} + +@keyframes loading2_713 { + 0% { + transform: translateX(0px); + width: 16px; + } + + 40% { + transform: translateX(0%); + width: 80%; + } + + 80% { + width: 100%; + transform: translateX(0px); + } + + 90% { + width: 80%; + transform: translateX(15px); + } + + 100% { + transform: translateX(0px); + width: 16px; + } +} + +/* Modal Content/Box */ +.modalOrd-content { + margin: 20% auto; + padding-left: 20%; + width: 50%; +} diff --git a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.min.css b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.min.css new file mode 100644 index 0000000..619cf90 --- /dev/null +++ b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.min.css @@ -0,0 +1 @@ +.modalOrd{position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.6);}.loader{width:80px;height:50px;position:relative;}.loader-text{position:absolute;top:0;padding:0;margin:0;color:#c8b6ff;animation:text_713 3.5s ease both infinite;font-size:.8rem;letter-spacing:1px;}.load{background-color:#9a79ff;border-radius:50px;display:block;height:16px;width:16px;bottom:0;position:absolute;transform:translateX(64px);animation:loading_713 3.5s ease both infinite;}.load::before{position:absolute;content:"";width:100%;height:100%;background-color:#d1c2ff;border-radius:inherit;animation:loading2_713 3.5s ease both infinite;}@keyframes text_713{0%{letter-spacing:1px;transform:translateX(0);}40%{letter-spacing:2px;transform:translateX(26px);}80%{letter-spacing:1px;transform:translateX(32px);}90%{letter-spacing:2px;transform:translateX(0);}100%{letter-spacing:1px;transform:translateX(0);}}@keyframes loading_713{0%{width:16px;transform:translateX(0);}40%{width:100%;transform:translateX(0);}80%{width:16px;transform:translateX(64px);}90%{width:100%;transform:translateX(0);}100%{width:16px;transform:translateX(0);}}@keyframes loading2_713{0%{transform:translateX(0);width:16px;}40%{transform:translateX(0%);width:80%;}80%{width:100%;transform:translateX(0);}90%{width:80%;transform:translateX(15px);}100%{transform:translateX(0);width:16px;}}.modalOrd-content{margin:20% auto;padding-left:20%;width:50%;} \ No newline at end of file diff --git a/WebDoorCreator.UI/compilerconfig.json b/WebDoorCreator.UI/compilerconfig.json index 19c85a5..7a354dc 100644 --- a/WebDoorCreator.UI/compilerconfig.json +++ b/WebDoorCreator.UI/compilerconfig.json @@ -98,5 +98,9 @@ { "outputFile": "Components/DoorMan/DoorModal.razor.css", "inputFile": "Components/DoorMan/DoorModal.razor.less" + }, + { + "outputFile": "Components/DoorMan/DoorList.razor.css", + "inputFile": "Components/DoorMan/DoorList.razor.less" } ] \ No newline at end of file diff --git a/WebDoorCreator.UI/wwwroot/images/icons/arrows-rotate-solid.svg b/WebDoorCreator.UI/wwwroot/images/icons/arrows-rotate-solid.svg new file mode 100644 index 0000000..73fc6bc --- /dev/null +++ b/WebDoorCreator.UI/wwwroot/images/icons/arrows-rotate-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/WebDoorCreator.UI/wwwroot/images/icons/file-pdf-regular.svg b/WebDoorCreator.UI/wwwroot/images/icons/file-pdf-regular.svg new file mode 100644 index 0000000..443a73e --- /dev/null +++ b/WebDoorCreator.UI/wwwroot/images/icons/file-pdf-regular.svg @@ -0,0 +1 @@ + \ No newline at end of file From e157770076748f5abbd901fdd07eb24cab866aa9 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 24 May 2023 16:22:42 +0200 Subject: [PATCH 006/137] Refresh Ordine: - Spostamento procedura calcolo DDF/SVG - fix btn ricalcolo SVG --- Resources/ChangeLog.html | 2 +- Resources/VersNum.txt | 2 +- Resources/manifest.xml | 2 +- .../Services/QueueDataService.cs | 21 ++++--- .../Services/WebDoorCreatorService.cs | 60 +++++++++++++++++-- .../Buttons/ButtonsDoorDef.razor.cs | 5 -- .../Components/DoorMan/DoorList.razor.cs | 29 ++++++++- WebDoorCreator.UI/WebDoorCreator.UI.csproj | 2 +- 8 files changed, 100 insertions(+), 23 deletions(-) diff --git a/Resources/ChangeLog.html b/Resources/ChangeLog.html index f38ebb8..5b0454a 100644 --- a/Resources/ChangeLog.html +++ b/Resources/ChangeLog.html @@ -1,6 +1,6 @@ WebDoorCreator - Egalware -

Version: 0.9.2305.2414

+

Version: 0.9.2305.2416


Release note:
  • diff --git a/Resources/VersNum.txt b/Resources/VersNum.txt index cce2aac..23cadfc 100644 --- a/Resources/VersNum.txt +++ b/Resources/VersNum.txt @@ -1 +1 @@ -0.9.2305.2414 +0.9.2305.2416 diff --git a/Resources/manifest.xml b/Resources/manifest.xml index 27d9ce1..f624d20 100644 --- a/Resources/manifest.xml +++ b/Resources/manifest.xml @@ -1,6 +1,6 @@ - 0.9.2305.2414 + 0.9.2305.2416 http://nexus.steamware.net/repository/SWS/WDC/stable/WDC.UI.zip http://nexus.steamware.net/repository/SWS/WDC/stable/ChangeLog.html false diff --git a/WebDoorCreator.Data/Services/QueueDataService.cs b/WebDoorCreator.Data/Services/QueueDataService.cs index ca28e3d..5567d82 100644 --- a/WebDoorCreator.Data/Services/QueueDataService.cs +++ b/WebDoorCreator.Data/Services/QueueDataService.cs @@ -609,10 +609,10 @@ namespace WebDoorCreator.Data.Services /// Reset to queue request for specified DoorIdList ///
/// Dictionary of DoorId, saveVersNumb - public async Task ResetQueueByDoorList(List DoorIdList) + public async Task> ResetQueueByDoorList(List DoorIdList) { - bool fatto = false; - await Task.Delay(1); + int num2proc = DoorIdList.Count; + List listDone = new List(); Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); // cerco le richieste processing @@ -625,7 +625,7 @@ namespace WebDoorCreator.Data.Services { await RequestPendingUpsert(item.Name!, item.Value!); await RequestProcessingRemove(item.Name!); - fatto = true; + listDone.Add($"{item.Name}"); } } // cerco le richieste con errori @@ -638,7 +638,7 @@ namespace WebDoorCreator.Data.Services { await RequestPendingUpsert(item.Name!, item.Value!); await RequestErrRemove(item.Name!); - fatto = true; + listDone.Add($"{item.Name}"); } } // cerco le richieste processed @@ -651,13 +651,18 @@ namespace WebDoorCreator.Data.Services { await RequestPendingUpsert(item.Name!, item.Value!); await RequestDoneRemove(item.Name!); - fatto = true; + listDone.Add($"{item.Name}"); } } + // calcolo eventuali porte NON ancora richieste... + foreach (var item in listDone) + { + DoorIdList.Remove(item); + } stopWatch.Stop(); TimeSpan ts = stopWatch.Elapsed; - Log.Debug($"ResetQueueByDoorList | doors #: {DoorIdList.Count} | EXEC in: {ts.TotalMilliseconds} ms"); - return fatto; + Log.Debug($"ResetQueueByDoorList | doors #: {num2proc} --> {DoorIdList.Count} | EXEC in: {ts.TotalMilliseconds} ms"); + return DoorIdList; } /// /// Reset to queue request all processing/processed data diff --git a/WebDoorCreator.Data/Services/WebDoorCreatorService.cs b/WebDoorCreator.Data/Services/WebDoorCreatorService.cs index f1fbcbf..55c94ba 100644 --- a/WebDoorCreator.Data/Services/WebDoorCreatorService.cs +++ b/WebDoorCreator.Data/Services/WebDoorCreatorService.cs @@ -49,6 +49,14 @@ namespace WebDoorCreator.Data.Services { dbController = new WebDoorCreatorController(configuration); } + + // conf serializzatore DDF... + string vers = _configuration.GetValue("ConfDDF:VersNumber"); + bool remDoorOp = _configuration.GetValue("ConfDDF:RemoveDoorOps"); + var headRows = _configuration.GetSection("ConfDDF:Header").Get>(); + var footRows = _configuration.GetSection("ConfDDF:Footer").Get>(); + currDdfConv = new DDF.Converter(vers, remDoorOp, headRows, footRows); + // chiudo log Log.Info("Avviata classe WebDoorCreatorService"); } @@ -161,7 +169,7 @@ namespace WebDoorCreator.Data.Services List listActiveCompo = await CompoGetAllActive(Path.Combine(rootPath, @"Default.ini")); List listCompoS = new List(); - //estraggo tutte le sotto directory della cartella \EgtData\Doors\EgtCompoBase\Compo + // estraggo tutte le sotto directory della cartella \EgtData\Doors\EgtCompoBase\Compo string[] dirs = Directory.GetDirectories(rootPath, "*", SearchOption.TopDirectoryOnly); // elenco obj da inserire @@ -1157,12 +1165,12 @@ namespace WebDoorCreator.Data.Services /// /// Doors list by numRec /// - public async Task> DoorOpGetByDoorId(int doorId) + public async Task> DoorOpGetByDoorId(int DoorId) { string source = "DB"; List? dbResult = new List(); // cerco da cache - string currKey = $"{Constants.rKeyDoorOp}:{doorId}"; + string currKey = $"{Constants.rKeyDoorOp}:{DoorId}"; Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); string? rawData = await redisDb.StringGetAsync(currKey); @@ -1181,7 +1189,7 @@ namespace WebDoorCreator.Data.Services } else { - dbResult = dbController.DoorOpGetByDoorId(doorId); + dbResult = dbController.DoorOpGetByDoorId(DoorId); rawData = JsonConvert.SerializeObject(dbResult, JSSettings); await redisDb.StringSetAsync(currKey, rawData, UltraLongCache); } @@ -1216,6 +1224,42 @@ namespace WebDoorCreator.Data.Services return dbResult; } + /// + /// Create DDF from DoorId + /// + public async Task DoorOpGetDDF(int DoorId) + { + string resultDDF = ""; + List ordListVal = new List(); + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + var listOpAll = await DoorOpGetByDoorId(DoorId); + if (listOpAll != null) + { + List listOp = listOpAll.Where(x => x.userConfirm != "" && x.DtConfirm != null).ToList(); + if (listOp != null) + { + // chiamo metodo x avewre DDF serializzato + var CurrentCompoOrder = await ListValuesGetAll("*", "Hardware"); + if (CurrentCompoOrder != null) + { + foreach (var item in CurrentCompoOrder.OrderBy(x => x.Ordinal).ToList()) + { + ordListVal.Add(item.TableName); + } + } + // riordino + listOp = listOp.OrderBy(d => ordListVal.IndexOf(d.ObjectId)).ToList(); + // converto in DDF! + resultDDF = currDdfConv.GetSerialized(listOp); + } + } + stopWatch.Stop(); + TimeSpan ts = stopWatch.Elapsed; + Log.Debug($"DoorOpGetDDF | in: {ts.TotalMilliseconds} ms"); + return resultDDF; + } + /// /// lista DoorOpList necessarie all'init /// @@ -1874,7 +1918,7 @@ namespace WebDoorCreator.Data.Services { var dbResult = await dbController.OrderUpdate(orderId, newStatus); // elimino cache redis... - //bool answ = await DoorFlushCache(currRec.doorId); + //bool answ = await DoorFlushCache(currRec.DoorId); // elimino cache redis dati ordine... bool answ = await FlushRedisCache(); return dbResult; @@ -2182,6 +2226,12 @@ namespace WebDoorCreator.Data.Services #endregion Protected Fields + #region Protected Properties + + protected WebDoorCreator.Data.DDF.Converter currDdfConv { get; set; } = null!; + + #endregion Protected Properties + #region Private Fields private static IConfiguration _configuration = null!; diff --git a/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor.cs b/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor.cs index d8e866a..b5c324d 100644 --- a/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor.cs +++ b/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor.cs @@ -28,8 +28,6 @@ namespace WebDoorCreator.UI.Components.Buttons #endregion Public Properties - - #region Protected Properties protected Dictionary a { get; set; } = new Dictionary(); @@ -100,7 +98,6 @@ namespace WebDoorCreator.UI.Components.Buttons if (listOp != null) { // chiamo metodo x avewre DDF serializzato - //var list2Ord = ; var CurrentCompoOrder = await WDCService.ListValuesGetAll("*", "Hardware"); if (CurrentCompoOrder != null) { @@ -113,8 +110,6 @@ namespace WebDoorCreator.UI.Components.Buttons 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(idDoor, currDdf); diff --git a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.cs b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.cs index 09612cb..3e6f6b7 100644 --- a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.cs +++ b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.cs @@ -67,6 +67,9 @@ namespace WebDoorCreator.UI.Components.DoorMan [Inject] protected WDCUserService WDCUService { get; set; } = null!; + [Inject] + protected QueueDataService QDService { get; set; } = null!; + [Inject] protected WebDoorCreatorService WDService { get; set; } = null!; @@ -102,7 +105,31 @@ namespace WebDoorCreator.UI.Components.DoorMan protected async void recalcSVGs(string message) { isRecalc = true; - await Task.Delay(4000); + // recupero elenco porte come list interi... + if (DoorsList != null && DoorsList.Count > 0) + { + List doorIdList = DoorsList + .Select(x => $"{x.DoorId}") + .ToList(); + // chiamo reset + var list2Proc = await QDService.ResetQueueByDoorList(doorIdList); + // se ho porte da processare --> chiamo save... + string currDDF = ""; + int currDoorId = 0; + int currVers = 0; + foreach (var item in list2Proc) + { + currDoorId = 0; + currVers = 0; + int.TryParse(item, out currDoorId); + if (currDoorId > 0) + { + currDDF = await WDService.DoorOpGetDDF(currDoorId); + // versione corrente del DDF generato + currVers = await QDService.SendCalcReq(currDoorId, currDDF); + } + } + } isRecalc = false; await InvokeAsync(StateHasChanged); } diff --git a/WebDoorCreator.UI/WebDoorCreator.UI.csproj b/WebDoorCreator.UI/WebDoorCreator.UI.csproj index 2ae41a6..e86618a 100644 --- a/WebDoorCreator.UI/WebDoorCreator.UI.csproj +++ b/WebDoorCreator.UI/WebDoorCreator.UI.csproj @@ -3,7 +3,7 @@ net6.0 enable - 0.9.2305.2414 + 0.9.2305.2416 enable aspnet-WebDoorCreator.UI-dfe95fed-1398-4144-bd43-8b3a765d6608 From badf940391e12f3f6b7f72ea5acf831b91464070 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 24 May 2023 17:58:59 +0200 Subject: [PATCH 007/137] Aggiunta gestione coda Processing con sblocco - veto configurabile (5sec) prima di sbloccare -gestione con chiamata REST --- Resources/ChangeLog.html | 2 +- Resources/VersNum.txt | 2 +- Resources/manifest.xml | 4 +- .../Controllers/QueueController.cs | 15 ++- WebDoorCreator.API/appsettings.json | 3 + .../Services/QueueDataService.cs | 39 +++++++- .../Components/SvgComp/DoorSvgObj.razor | 5 +- WebDoorCreator.UI/WebDoorCreator.UI.csproj | 2 +- WebDoorCreator.UI/appsettings.json | 91 ++++++++++--------- 9 files changed, 106 insertions(+), 57 deletions(-) diff --git a/Resources/ChangeLog.html b/Resources/ChangeLog.html index 5b0454a..07c324c 100644 --- a/Resources/ChangeLog.html +++ b/Resources/ChangeLog.html @@ -1,6 +1,6 @@ WebDoorCreator - Egalware -

Version: 0.9.2305.2416

+

Version: 0.9.2305.2417


Release note:
  • diff --git a/Resources/VersNum.txt b/Resources/VersNum.txt index 23cadfc..d5439f6 100644 --- a/Resources/VersNum.txt +++ b/Resources/VersNum.txt @@ -1 +1 @@ -0.9.2305.2416 +0.9.2305.2417 diff --git a/Resources/manifest.xml b/Resources/manifest.xml index f624d20..7168dae 100644 --- a/Resources/manifest.xml +++ b/Resources/manifest.xml @@ -1,7 +1,7 @@ - 0.9.2305.2416 - http://nexus.steamware.net/repository/SWS/WDC/stable/WDC.UI.zip + 0.9.2305.2417 + http://nexus.steamware.net/repository/SWS/WDC/stable/WDC.API.zip http://nexus.steamware.net/repository/SWS/WDC/stable/ChangeLog.html false diff --git a/WebDoorCreator.API/Controllers/QueueController.cs b/WebDoorCreator.API/Controllers/QueueController.cs index b1c00dd..cab3dfe 100644 --- a/WebDoorCreator.API/Controllers/QueueController.cs +++ b/WebDoorCreator.API/Controllers/QueueController.cs @@ -81,6 +81,19 @@ namespace WebDoorCreator.API.Controllers return answ; } + /// + /// Reset della coda di processing x evitare condizioni di "stuck in calc" + /// + /// + [HttpPost("ResetQueueProcessing")] + public async Task ResetQueueProcessing() + { + string answ = "NA"; + bool fatto = await QDataServ.ResetQueueProcessing(); + answ = fatto ? "OK" : "NO"; + return answ; + } + /// /// Invio elenco risultati elaborazioni (modalità boolean di esecuzione corretta) /// @@ -130,8 +143,6 @@ namespace WebDoorCreator.API.Controllers return actQueue; } - - #endregion Public Methods #region Private Fields diff --git a/WebDoorCreator.API/appsettings.json b/WebDoorCreator.API/appsettings.json index e32a2b4..6e7fdde 100644 --- a/WebDoorCreator.API/appsettings.json +++ b/WebDoorCreator.API/appsettings.json @@ -26,5 +26,8 @@ "Admin": "samuele@steamware.net", "ProjCheck": "samuele.locatelli@egalware.com,mara.baroni@egalware.com", "TimbCheck": "samuele.locatelli@egalware.com,mara.baroni@egalware.com" + }, + "RumtimeOpt": { + "VetoRemoveProcessing": 5 } } diff --git a/WebDoorCreator.Data/Services/QueueDataService.cs b/WebDoorCreator.Data/Services/QueueDataService.cs index 5567d82..3825650 100644 --- a/WebDoorCreator.Data/Services/QueueDataService.cs +++ b/WebDoorCreator.Data/Services/QueueDataService.cs @@ -13,6 +13,7 @@ namespace WebDoorCreator.Data.Services { #region Public Constructors + private int vetoRemoveProcSec { get; set; } = 10; /// /// Init classe /// @@ -38,6 +39,8 @@ namespace WebDoorCreator.Data.Services // setup canali pub/sub CalcReqPipe = new MessagePipe(redisConn, Constants.CALC_REQ_QUEUE); CalcDonePipe = new MessagePipe(redisConn, Constants.CALC_DONE_QUEUE); + // leggo conf speciali + vetoRemoveProcSec = _configuration.GetValue("RumtimeOpt:VetoRemoveProcessing"); } #endregion Public Constructors @@ -595,13 +598,16 @@ namespace WebDoorCreator.Data.Services } /// - /// Upsert for single hash record + /// Upsert for single hash record in processing /// /// Dictionary of DoorId, saveVersNumb public async Task RequestProcessingUpsert(string doorId, string vers) { RedisKey currKey = new RedisKey(Constants.CALC_REQ_PROC); long numReq = await RedHashUpsert(currKey, doorId, vers); + // aggiungo cache veto rimozione da coda processing + RedisKey currVetoKey = new RedisKey($"{Constants.CALC_REQ_PROC}:{doorId}"); + await redisDb.StringSetAsync(currVetoKey, vers, TimeSpan.FromSeconds(vetoRemoveProcSec)); return numReq; } @@ -706,6 +712,37 @@ namespace WebDoorCreator.Data.Services Log.Debug($"ResetQueue | REDIS EXEC in: {ts.TotalMilliseconds} ms"); return fatto; } + /// + /// Reset to queue request all processing stuck data (veto check) + /// + /// Boolean, executed + public async Task ResetQueueProcessing() + { + bool fatto = false; + await Task.Delay(1); + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + // cerco le richieste processing + RedisKey currKey = new RedisKey(Constants.CALC_REQ_PROC); + RedisKey currVetoKey = new RedisKey($"{Constants.CALC_REQ_PROC}:0"); + var rawData = await redisDb.HashGetAllAsync(currKey); + foreach (var item in rawData) + { + // verifico SE siano senza veto rimozione... + currVetoKey = new RedisKey($"{Constants.CALC_REQ_PROC}:{item.Name}"); + var redisVal = await redisDb.StringGetAsync(currVetoKey); + if (!redisVal.HasValue) + { + await RequestPendingUpsert(item.Name!, item.Value!); + await RequestProcessingRemove(item.Name!); + fatto = true; + } + } + stopWatch.Stop(); + TimeSpan ts = stopWatch.Elapsed; + Log.Debug($"ResetQueueProcessing | REDIS EXEC in: {ts.TotalMilliseconds} ms"); + return fatto; + } /// /// Salvo elenco risultati elaborazioni (modalità boolean di esecuzione corretta) diff --git a/WebDoorCreator.UI/Components/SvgComp/DoorSvgObj.razor b/WebDoorCreator.UI/Components/SvgComp/DoorSvgObj.razor index 248695b..245b229 100644 --- a/WebDoorCreator.UI/Components/SvgComp/DoorSvgObj.razor +++ b/WebDoorCreator.UI/Components/SvgComp/DoorSvgObj.razor @@ -1,5 +1,4 @@  - @**@
    @@ -9,13 +8,12 @@ @item.Key
    - @item.Value + @item.Value (@DoorId)
    }
    - @@ -31,7 +29,6 @@ @if (ShowPlusMinus) { - @**@ + diff --git a/WebDoorCreator.UI/WebDoorCreator.UI.csproj b/WebDoorCreator.UI/WebDoorCreator.UI.csproj index e86618a..a0ad21b 100644 --- a/WebDoorCreator.UI/WebDoorCreator.UI.csproj +++ b/WebDoorCreator.UI/WebDoorCreator.UI.csproj @@ -3,7 +3,7 @@ net6.0 enable - 0.9.2305.2416 + 0.9.2305.2417 enable aspnet-WebDoorCreator.UI-dfe95fed-1398-4144-bd43-8b3a765d6608 diff --git a/WebDoorCreator.UI/appsettings.json b/WebDoorCreator.UI/appsettings.json index 5355d74..6de96b4 100644 --- a/WebDoorCreator.UI/appsettings.json +++ b/WebDoorCreator.UI/appsettings.json @@ -1,48 +1,49 @@ { - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - }, - "AllowedHosts": "*", - "ConnectionStrings": { - "Identity.DB": "Server=SQL2016DEV;Database=WebDoorCreator; User ID=sa;Password=keyhammer16; integrated security=False; MultipleActiveResultSets=True; App=WebDoorCreator.UI;", - "Redis": "nkcredis.steamware.net:6379, DefaultDatabase=11, connectTimeout=5000, syncTimeout=5000, asyncTimeout=5000, abortConnect=false, ssl=false, password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG", - "WDC.DB": "Server=SQL2016DEV;Database=WebDoorCreator; User ID=sa;Password=keyhammer16; integrated security=False; MultipleActiveResultSets=True; App=WebDoorCreator.UI;" - }, - "ExternalProviders": { - "MailKit": { - "SMTP": { - "Address": "smtp-mail.outlook.com", - "Port": "587", - "Account": "steamwarebot@outlook.it", - "Password": "siamoInViaNazionale93", - "SenderEmail": "steamwarebot@outlook.it", - "SenderName": "Steamware Email BOT" - } - } - }, - "SetupOpt": { - "DisableIdentMigrate": true, - "DisableWDCMigrate": true - }, - "RumtimeOpt": { - "MaxDayCalcCache": 7, - "BaseUrl": "/WDC/UI" - }, - "ConfDDF": { - "Header": [ - "#WEBDOORCREATOR", - "#Config: EgtCompoBase", - "#Door1", - "" - ], - "Footer": [ - "", - "---" - ], - "VersNumber": "2", - "RemoveDoorOps": true + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" } + }, + "AllowedHosts": "*", + "ConnectionStrings": { + "Identity.DB": "Server=SQL2016DEV;Database=WebDoorCreator; User ID=sa;Password=keyhammer16; integrated security=False; MultipleActiveResultSets=True; App=WebDoorCreator.UI;", + "Redis": "nkcredis.steamware.net:6379, DefaultDatabase=11, connectTimeout=5000, syncTimeout=5000, asyncTimeout=5000, abortConnect=false, ssl=false, password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG", + "WDC.DB": "Server=SQL2016DEV;Database=WebDoorCreator; User ID=sa;Password=keyhammer16; integrated security=False; MultipleActiveResultSets=True; App=WebDoorCreator.UI;" + }, + "ExternalProviders": { + "MailKit": { + "SMTP": { + "Address": "smtp-mail.outlook.com", + "Port": "587", + "Account": "steamwarebot@outlook.it", + "Password": "siamoInViaNazionale93", + "SenderEmail": "steamwarebot@outlook.it", + "SenderName": "Steamware Email BOT" + } + } + }, + "SetupOpt": { + "DisableIdentMigrate": true, + "DisableWDCMigrate": true + }, + "RumtimeOpt": { + "VetoRemoveProcessing": 5, + "MaxDayCalcCache": 7, + "BaseUrl": "/WDC/UI" + }, + "ConfDDF": { + "Header": [ + "#WEBDOORCREATOR", + "#Config: EgtCompoBase", + "#Door1", + "" + ], + "Footer": [ + "", + "---" + ], + "VersNumber": "2", + "RemoveDoorOps": true + } } \ No newline at end of file From 1b491bd8a06359476446635b449ab4de99dfb2d3 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 24 May 2023 18:49:28 +0200 Subject: [PATCH 008/137] refresh ext prog, ma escluso da solution VB --- TestExtProc/Program.cs | 3 --- 1 file changed, 3 deletions(-) diff --git a/TestExtProc/Program.cs b/TestExtProc/Program.cs index 0d1d158..083502c 100644 --- a/TestExtProc/Program.cs +++ b/TestExtProc/Program.cs @@ -1,10 +1,7 @@ // See https://aka.ms/new-console-template for more information using System.Diagnostics; -using System.Net.Security; -using System.Text; int lineCount = 0; -//StringBuilder output = new StringBuilder(); void OutputHandler(object sender, DataReceivedEventArgs e) From 191ca5f2a290f0681666813d11a6063ba05ad18c Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 24 May 2023 18:55:58 +0200 Subject: [PATCH 009/137] WebDoorSrv: - aggiunta in SDK metodi x reset della sola coda processing a request --- WebDoorCreator.CamSrv.sln | 6 ------ WebDoorCreator.SDK/WDC.cs | 12 +++++++++++- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/WebDoorCreator.CamSrv.sln b/WebDoorCreator.CamSrv.sln index 9f221bd..ece10f0 100644 --- a/WebDoorCreator.CamSrv.sln +++ b/WebDoorCreator.CamSrv.sln @@ -7,8 +7,6 @@ Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "WebDoorCreator.CamSrv", "We EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDoorCreator.SDK", "WebDoorCreator.SDK\WebDoorCreator.SDK.csproj", "{4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestExtProc", "TestExtProc\TestExtProc.csproj", "{88099151-7136-4825-9B5D-B5A6899FD0AF}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -23,10 +21,6 @@ Global {4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Debug|Any CPU.Build.0 = Debug|Any CPU {4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Release|Any CPU.ActiveCfg = Release|Any CPU {4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Release|Any CPU.Build.0 = Release|Any CPU - {88099151-7136-4825-9B5D-B5A6899FD0AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {88099151-7136-4825-9B5D-B5A6899FD0AF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {88099151-7136-4825-9B5D-B5A6899FD0AF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {88099151-7136-4825-9B5D-B5A6899FD0AF}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/WebDoorCreator.SDK/WDC.cs b/WebDoorCreator.SDK/WDC.cs index 558f05c..a49b695 100644 --- a/WebDoorCreator.SDK/WDC.cs +++ b/WebDoorCreator.SDK/WDC.cs @@ -155,7 +155,7 @@ namespace WebDoorCreator.SDK } /// - /// Reset delel code di processing + /// Reset di tutte le code a REQUEST /// /// public string ResetQueue() @@ -167,6 +167,15 @@ namespace WebDoorCreator.SDK var rawData = callUrlPost(urlResetQueue, "", parList); return rawData; } + /// + /// Reset delle code di processing a REQUEST + /// + /// + public string ResetQueueProcessing() + { + var rawData = callUrlPost(urlResetQueueProc, ""); + return rawData; + } /// /// Restitusice l'elenco degli esiti di processing @@ -188,6 +197,7 @@ namespace WebDoorCreator.SDK protected const string urlActLenght = "api/Queue/ActLenght"; protected const string urlAlive = "/api/Alive"; protected const string urlResetQueue = "api/Queue/ResetQueue"; + protected const string urlResetQueueProc = "api/Queue/ResetQueueProcessing"; protected const string urlSaveProcRes = "api/Queue/SaveProcResult"; protected const string urlStatusList = "api/Queue/StatusList"; protected const string urlTakeNextItems = "api/Queue/TakeNextItems"; From 57d3f9433d0913fb5cfafc27d6f80f3bdaccc77b Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Thu, 25 May 2023 08:04:08 +0200 Subject: [PATCH 010/137] fix report ordine --- Resources/ChangeLog.html | 2 +- Resources/VersNum.txt | 2 +- Resources/manifest.xml | 4 ++-- .../Components/DoorMan/DoorList.razor | 4 ++-- .../Components/DoorMan/DoorList.razor.cs | 17 +++++++++++++++++ WebDoorCreator.UI/WebDoorCreator.UI.csproj | 2 +- 6 files changed, 24 insertions(+), 7 deletions(-) diff --git a/Resources/ChangeLog.html b/Resources/ChangeLog.html index 07c324c..77499ea 100644 --- a/Resources/ChangeLog.html +++ b/Resources/ChangeLog.html @@ -1,6 +1,6 @@
    WebDoorCreator - Egalware -

    Version: 0.9.2305.2417

    +

    Version: 0.9.2305.2508


    Release note:
    • diff --git a/Resources/VersNum.txt b/Resources/VersNum.txt index d5439f6..14e835e 100644 --- a/Resources/VersNum.txt +++ b/Resources/VersNum.txt @@ -1 +1 @@ -0.9.2305.2417 +0.9.2305.2508 diff --git a/Resources/manifest.xml b/Resources/manifest.xml index 7168dae..34fac79 100644 --- a/Resources/manifest.xml +++ b/Resources/manifest.xml @@ -1,7 +1,7 @@ - 0.9.2305.2417 - http://nexus.steamware.net/repository/SWS/WDC/stable/WDC.API.zip + 0.9.2305.2508 + http://nexus.steamware.net/repository/SWS/WDC/stable/WDC.UI.zip http://nexus.steamware.net/repository/SWS/WDC/stable/ChangeLog.html false diff --git a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor index 4fca24f..6ccee8a 100644 --- a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor +++ b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor @@ -2,7 +2,7 @@ { @if (orderStatus == 10) { - @if(isRecalc) + @if (isRecalc) {
      @@ -22,7 +22,7 @@
      - +
      diff --git a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.cs b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.cs index 3e6f6b7..4b162d9 100644 --- a/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.cs +++ b/WebDoorCreator.UI/Components/DoorMan/DoorList.razor.cs @@ -263,6 +263,12 @@ namespace WebDoorCreator.UI.Components.DoorMan protected async Task ReloadData() { + var confData = await WDService.ConfigGetKey("prt_ReportServerUrl"); + if (confData != null) + { + reportBaseUrl = confData.valore; + } + if (!AddDoorDict.ContainsKey("ADD NEW DOOR")) { AddDoorDict.Add("ADD NEW DOOR", ""); @@ -379,5 +385,16 @@ namespace WebDoorCreator.UI.Components.DoorMan } #endregion Private Properties + + public string reportBaseUrl { get; set; } = "http://w2019-sql-steam/reportserver?/Test/WebDoor/"; + + protected async Task reportUrl(int orderId) + { + var url = $"{reportBaseUrl}ReportOrder&OrderID={orderId}&rs:Command=Render&rs:format=PDF"; + + await JSRuntime.InvokeAsync("open", url, "_blank"); + + //NavManager.NavigateTo(url, true); + } } } \ No newline at end of file diff --git a/WebDoorCreator.UI/WebDoorCreator.UI.csproj b/WebDoorCreator.UI/WebDoorCreator.UI.csproj index a0ad21b..be6555e 100644 --- a/WebDoorCreator.UI/WebDoorCreator.UI.csproj +++ b/WebDoorCreator.UI/WebDoorCreator.UI.csproj @@ -3,7 +3,7 @@ net6.0 enable - 0.9.2305.2417 + 0.9.2305.2508 enable aspnet-WebDoorCreator.UI-dfe95fed-1398-4144-bd43-8b3a765d6608 From cc3b32f1d94c4d0e200c0df353f0e30ff4264643 Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Thu, 25 May 2023 13:02:33 +0200 Subject: [PATCH 011/137] fix ricalcolo porta post save --- Resources/ChangeLog.html | 2 +- Resources/VersNum.txt | 2 +- Resources/manifest.xml | 2 +- .../Components/Buttons/ButtonsDoorDef.razor | 20 ++-- .../Components/DoorDef/BaseParamList.razor | 33 +++--- .../Components/DoorDef/BaseParamList.razor.cs | 9 ++ .../Components/DoorDef/DoorDefSizingSI.razor | 7 +- .../Components/DoorDef/DoorDefinition.razor | 46 ++++---- .../Hardware/HwSingleInstance.razor | 106 +++++++++++------- .../Hardware/HwSingleInstance.razor.css | 6 +- .../Hardware/HwSingleInstance.razor.less | 2 +- .../Hardware/HwSingleInstance.razor.min.css | 2 +- .../Components/Order/OrderList.razor | 2 +- WebDoorCreator.UI/WebDoorCreator.UI.csproj | 2 +- 14 files changed, 138 insertions(+), 103 deletions(-) diff --git a/Resources/ChangeLog.html b/Resources/ChangeLog.html index 77499ea..f14c15c 100644 --- a/Resources/ChangeLog.html +++ b/Resources/ChangeLog.html @@ -1,6 +1,6 @@ WebDoorCreator - Egalware -

      Version: 0.9.2305.2508

      +

      Version: 0.9.2305.2512


      Release note:
      • diff --git a/Resources/VersNum.txt b/Resources/VersNum.txt index 14e835e..2439b5a 100644 --- a/Resources/VersNum.txt +++ b/Resources/VersNum.txt @@ -1 +1 @@ -0.9.2305.2508 +0.9.2305.2512 diff --git a/Resources/manifest.xml b/Resources/manifest.xml index 34fac79..bfd3872 100644 --- a/Resources/manifest.xml +++ b/Resources/manifest.xml @@ -1,6 +1,6 @@ - 0.9.2305.2508 + 0.9.2305.2512 http://nexus.steamware.net/repository/SWS/WDC/stable/WDC.UI.zip http://nexus.steamware.net/repository/SWS/WDC/stable/ChangeLog.html false diff --git a/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor b/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor index 991304b..795f120 100644 --- a/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor +++ b/WebDoorCreator.UI/Components/Buttons/ButtonsDoorDef.razor @@ -1,8 +1,8 @@ 
        @if (B_doorOpUpd || true) { - - + @* + *@ @if (IsErr) { @@ -17,15 +17,15 @@
        - -