diff --git a/MagMan.UI/Components/AliasMan.razor.cs b/MagMan.UI/Components/AliasMan.razor.cs index a68dc18..f5f3523 100644 --- a/MagMan.UI/Components/AliasMan.razor.cs +++ b/MagMan.UI/Components/AliasMan.razor.cs @@ -1,4 +1,5 @@ using EgwCoreLib.Razor; +using MagMan.Core; using MagMan.Core.DTO; using MagMan.Core.Services; using MagMan.Data.Tenant.DbModels; @@ -28,6 +29,7 @@ namespace MagMan.UI.Components public void Dispose() { AppMService.EA_SearchUpdated -= AppMService_EA_SearchUpdated; + AppMService.QueUpdAliasMat.EA_NewMessage -= QueUpdAliasMat_EA_NewMessage; } #endregion Public Methods @@ -52,25 +54,14 @@ namespace MagMan.UI.Components #region Protected Methods - protected string rowCss(AliasModel curItem) - { - string answ = curItem.Equals(CurrItem) ? "table-info" : ""; - // verifico se attivo... - if(!curItem.IsActive) - { - answ += " text-strike"; - } - return answ; - } - protected async Task CreateNew() { string dtCode = $"{DateTime.Now:yyMMdd_HHmmss}"; CurrItem = new AliasModel() { - Family="MatCode", + Family = "MatCode", ValueOriginal = $"Orig_{dtCode}", - ValueAlias= $"Alias_{dtCode}" + ValueAlias = $"Alias_{dtCode}" }; await InvokeAsync(StateHasChanged); } @@ -102,6 +93,7 @@ namespace MagMan.UI.Components { currSearch = ""; AppMService.EA_SearchUpdated += AppMService_EA_SearchUpdated; + AppMService.QueUpdAliasMat.EA_NewMessage += QueUpdAliasMat_EA_NewMessage; } protected override async Task OnParametersSetAsync() @@ -109,6 +101,17 @@ namespace MagMan.UI.Components await ReloadData(); } + protected string rowCss(AliasModel curItem) + { + string answ = curItem.Equals(CurrItem) ? "table-info" : ""; + // verifico se attivo... + if (!curItem.IsActive) + { + answ += " text-strike"; + } + return answ; + } + protected void SetNumRec(int newNum) { numRecord = newNum; @@ -135,10 +138,15 @@ namespace MagMan.UI.Components #region Private Fields private AliasModel? CurrItem = null; + private string currSearch = ""; + private int filtType = 0; + private List? ListRecords = null; + private int MaterialId = 0; + private List? SearchRecords = null; private bool sortAsc = true; @@ -165,6 +173,21 @@ namespace MagMan.UI.Components await ReloadData(); } + private async void QueUpdAliasMat_EA_NewMessage(object? sender, EventArgs e) + { + // verifico se il messaggio sia per la mia KEY e nel caso --> refresh! + PubSubEventArgs currArgs = (PubSubEventArgs)e; + // se c'è un messaggio + if (!string.IsNullOrEmpty(currArgs.newMessage)) + { + // se è di mia pertinenza x key e Proj + if (KeyNum > 0 && currArgs.newMessage == $"{KeyNum}") + { + await ReloadData(); + } + } + } + private async Task ReloadData() { isLoading = true; diff --git a/MagMan.UI/Components/MaterialMan.razor.cs b/MagMan.UI/Components/MaterialMan.razor.cs index 9f4d095..172c90f 100644 --- a/MagMan.UI/Components/MaterialMan.razor.cs +++ b/MagMan.UI/Components/MaterialMan.razor.cs @@ -1,6 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this // file to you under the MIT license. using EgwCoreLib.Razor; +using MagMan.Core; using MagMan.Core.DTO; using MagMan.Core.Services; using MagMan.Data.Admin.DbModels; @@ -33,6 +34,7 @@ namespace MagMan.UI.Components public void Dispose() { AppMService.EA_SearchUpdated -= AppMService_EA_SearchUpdated; + AppMService.QueUpdAliasMat.EA_NewMessage -= QueUpdAliasMat_EA_NewMessage; } #endregion Public Methods @@ -129,6 +131,7 @@ namespace MagMan.UI.Components { currSearch = ""; AppMService.EA_SearchUpdated += AppMService_EA_SearchUpdated; + AppMService.QueUpdAliasMat.EA_NewMessage += QueUpdAliasMat_EA_NewMessage; } protected override async Task OnParametersSetAsync() @@ -162,10 +165,15 @@ namespace MagMan.UI.Components #region Private Fields private MaterialModel? CurrItem = null; + private string currSearch = ""; + private int filtType = 0; + private List? ListRecords = null; + private int MaterialId = 0; + private List? SearchRecords = null; private bool sortAsc = true; @@ -206,6 +214,21 @@ namespace MagMan.UI.Components await ReloadData(); } + private async void QueUpdAliasMat_EA_NewMessage(object? sender, EventArgs e) + { + // verifico se il messaggio sia per la mia KEY e nel caso --> refresh! + PubSubEventArgs currArgs = (PubSubEventArgs)e; + // se c'è un messaggio + if (!string.IsNullOrEmpty(currArgs.newMessage)) + { + // se è di mia pertinenza x key e Proj + if (KeyNum > 0 && currArgs.newMessage == $"{KeyNum}") + { + await ReloadData(); + } + } + } + private async Task ReloadData() { isLoading = true; diff --git a/MagMan.UI/Controllers/AliasController.cs b/MagMan.UI/Controllers/AliasController.cs index 2e818b0..3448ab3 100644 --- a/MagMan.UI/Controllers/AliasController.cs +++ b/MagMan.UI/Controllers/AliasController.cs @@ -1,5 +1,7 @@ -using MagMan.Core; +using k8s.Models; +using MagMan.Core; using MagMan.Core.DTO; +using MagMan.Core.Services; using MagMan.Data.Admin.DbModels; using MagMan.Data.Admin.Services; using MagMan.Data.Tenant.DbModels; @@ -17,17 +19,13 @@ namespace MagMan.UI.Controllers [ApiController] public class AliasController : ControllerBase { - /// - /// Classe per logging - /// - private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); - private MTAdminService MTAdmService { get; set; } = null!; - private static JsonSerializerSettings? JSSettings; - private TenantService TService { get; set; } = null!; - public AliasController(MTAdminService MTDataService, TenantService TDataService) + #region Public Constructors + + public AliasController(MTAdminService MTDataService, TenantService TDataService, MessageService messageService) { MTAdmService = MTDataService; TService = TDataService; + MService = messageService; // json serializer... FIX errore loop circolare https://www.ryadel.com/en/jsonserializationexception-self-referencing-loop-detected-error-fix-entity-framework-asp-net-core/ JSSettings = new JsonSerializerSettings() { @@ -36,6 +34,10 @@ namespace MagMan.UI.Controllers Log.Info("Avviata classe AliasController"); } + #endregion Public Constructors + + #region Public Methods + /// /// Controllo status Alive /// GET: api/Alias/alive @@ -59,7 +61,7 @@ namespace MagMan.UI.Controllers } /// - /// Elenco Materiali dato RestToken + /// Elenco Materiali dato RestToken /// /// Rest Token cliente /// @@ -111,10 +113,33 @@ namespace MagMan.UI.Controllers } // resetto cache redis await MTAdmService.FlushRedisCache(); + // broadcast update via redis, indico nKey x update puntuale + MService.QueUpdAliasMat.sendMessage($"{nKey}"); } } answ = fatto ? "OK" : "NO"; return answ; } + + #endregion Public Methods + + #region Private Fields + + private static JsonSerializerSettings? JSSettings; + + /// + /// Classe per logging + /// + private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); + + #endregion Private Fields + + #region Private Properties + + private MessageService MService { get; set; } = null!; + private MTAdminService MTAdmService { get; set; } = null!; + private TenantService TService { get; set; } = null!; + + #endregion Private Properties } -} +} \ No newline at end of file diff --git a/MagMan.UI/Controllers/MaterialsController.cs b/MagMan.UI/Controllers/MaterialsController.cs index 9fd372f..e3c7257 100644 --- a/MagMan.UI/Controllers/MaterialsController.cs +++ b/MagMan.UI/Controllers/MaterialsController.cs @@ -1,5 +1,7 @@ -using MagMan.Core; +using k8s.Models; +using MagMan.Core; using MagMan.Core.DTO; +using MagMan.Core.Services; using MagMan.Data.Admin.DbModels; using MagMan.Data.Admin.Services; using MagMan.Data.Tenant.DbModels; @@ -16,17 +18,13 @@ namespace MagMan.UI.Controllers [ApiController] public class MaterialsController : ControllerBase { - /// - /// Classe per logging - /// - private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); - private MTAdminService MTAdmService { get; set; } = null!; - private static JsonSerializerSettings? JSSettings; - private TenantService TService { get; set; } = null!; - public MaterialsController(MTAdminService MTDataService, TenantService TDataService) + #region Public Constructors + + public MaterialsController(MTAdminService MTDataService, TenantService TDataService, MessageService messageService) { MTAdmService = MTDataService; TService = TDataService; + MService = messageService; // json serializer... FIX errore loop circolare https://www.ryadel.com/en/jsonserializationexception-self-referencing-loop-detected-error-fix-entity-framework-asp-net-core/ JSSettings = new JsonSerializerSettings() { @@ -35,6 +33,10 @@ namespace MagMan.UI.Controllers Log.Info("Avviata classe MaterialsController"); } + #endregion Public Constructors + + #region Public Methods + /// /// Controllo status Alive /// GET: api/Keys/alive @@ -58,7 +60,7 @@ namespace MagMan.UI.Controllers } /// - /// Elenco Materiali dato RestToken + /// Elenco Materiali dato RestToken /// /// Rest Token cliente /// @@ -109,10 +111,33 @@ namespace MagMan.UI.Controllers } // resetto cache redis await MTAdmService.FlushRedisCache(); + // broadcast update via redis, indico nKey x update puntuale + MService.QueUpdAliasMat.sendMessage($"{nKey}"); } } answ = fatto ? "OK" : "NO"; return answ; } + + #endregion Public Methods + + #region Private Fields + + private static JsonSerializerSettings? JSSettings; + + /// + /// Classe per logging + /// + private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); + + #endregion Private Fields + + #region Private Properties + + private MessageService MService { get; set; } = null!; + private MTAdminService MTAdmService { get; set; } = null!; + private TenantService TService { get; set; } = null!; + + #endregion Private Properties } -} +} \ No newline at end of file diff --git a/MagMan.UI/Controllers/ProjectsController.cs b/MagMan.UI/Controllers/ProjectsController.cs index ce4a07c..51c383b 100644 --- a/MagMan.UI/Controllers/ProjectsController.cs +++ b/MagMan.UI/Controllers/ProjectsController.cs @@ -169,6 +169,8 @@ namespace MagMan.UI.Controllers } // resetto cache redis await MTAdmService.FlushRedisCache(); + // broadcast update via redis, indico nKey x update puntuale + MService.QueUpdProj.sendMessage($"{nKey}"); } } return answ; diff --git a/MagMan.UI/MagMan.UI.csproj b/MagMan.UI/MagMan.UI.csproj index 98928ee..03b60c6 100644 --- a/MagMan.UI/MagMan.UI.csproj +++ b/MagMan.UI/MagMan.UI.csproj @@ -2,7 +2,7 @@ net6.0 - 1.0.2407.0115 + 1.0.2407.0116 enable enable true diff --git a/Resources/ChangeLog.html b/Resources/ChangeLog.html index 42e9456..ecac476 100644 --- a/Resources/ChangeLog.html +++ b/Resources/ChangeLog.html @@ -1,6 +1,6 @@ MagMan - Wood Warehouse Management System -

Versione: 1.0.2407.0115

+

Versione: 1.0.2407.0116


Note di rilascio:
  • diff --git a/Resources/VersNum.txt b/Resources/VersNum.txt index 98487c6..d6538eb 100644 --- a/Resources/VersNum.txt +++ b/Resources/VersNum.txt @@ -1 +1 @@ -1.0.2407.0115 +1.0.2407.0116 diff --git a/Resources/manifest.xml b/Resources/manifest.xml index e634080..21f6f98 100644 --- a/Resources/manifest.xml +++ b/Resources/manifest.xml @@ -1,6 +1,6 @@ - 1.0.2407.0115 + 1.0.2407.0116 http://nexus.steamware.net/repository/SWS/MagMan/stable/0/MagMan.UI.zip http://nexus.steamware.net/repository/SWS/MagMan/stable/0/ChangeLog.html false