From 25a6e195f0a53a4c1f027b6ef99953b7a6eb0014 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 8 Sep 2025 17:49:47 +0200 Subject: [PATCH 1/2] Fix servizi message service se MatrOpr missing --- MP.Data/Services/MessageService.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/MP.Data/Services/MessageService.cs b/MP.Data/Services/MessageService.cs index eb231f55..97b0de7d 100644 --- a/MP.Data/Services/MessageService.cs +++ b/MP.Data/Services/MessageService.cs @@ -114,7 +114,11 @@ namespace MP.Data.Services } set { - redisDb.StringSet((RedisKey)$"{redisBaseKey}:{MatrOpr}:lastIdxMacc", value, TimeSpan.FromSeconds(30)); + // salvo solo se MatrOpr è valida + if (MatrOpr > 0) + { + redisDb.StringSet((RedisKey)$"{redisBaseKey}:{MatrOpr}:lastIdxMacc", value, TimeSpan.FromSeconds(30)); + } } } @@ -190,7 +194,7 @@ namespace MP.Data.Services /// public Dictionary UsersPrefDict { - get => redisHashDictGet((RedisKey)$"{redisBaseKey}:{MatrOpr}"); + get => MatrOpr > 0 ? redisHashDictGet((RedisKey)$"{redisBaseKey}:{MatrOpr}") : new Dictionary(); set => redisHashDictSet((RedisKey)$"{redisBaseKey}:{MatrOpr}", value); } From c6cb0c487f0780dc38a9fa8b01121ff0d71c715d Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 8 Sep 2025 17:49:54 +0200 Subject: [PATCH 2/2] Fix selettore macchina doppiatavola --- MP-TAB3/Components/MachSel.razor | 2 +- MP-TAB3/Components/MachSel.razor.cs | 124 +++++++++++++++++----------- MP-TAB3/MP-TAB3.csproj | 2 +- MP-TAB3/Resources/ChangeLog.html | 2 +- MP-TAB3/Resources/VersNum.txt | 2 +- MP-TAB3/Resources/manifest.xml | 2 +- 6 files changed, 79 insertions(+), 55 deletions(-) diff --git a/MP-TAB3/Components/MachSel.razor b/MP-TAB3/Components/MachSel.razor index 81b44057..6c7fe80d 100644 --- a/MP-TAB3/Components/MachSel.razor +++ b/MP-TAB3/Components/MachSel.razor @@ -2,7 +2,7 @@ {
- @if (ListMacchine == null) { diff --git a/MP-TAB3/Components/MachSel.razor.cs b/MP-TAB3/Components/MachSel.razor.cs index 903067aa..c6b44baa 100644 --- a/MP-TAB3/Components/MachSel.razor.cs +++ b/MP-TAB3/Components/MachSel.razor.cs @@ -1,20 +1,13 @@ using global::Microsoft.AspNetCore.Components; using MP.Data.DbModels; using MP.Data.Services; -using MP_TAB3.Shared; using NLog; -using System; using System.Reflection.Metadata; namespace MP_TAB3.Components { public partial class MachSel : IDisposable { - public void Dispose() - { - TDataService.DataInvalidated -= TDataService_DataInvalidated; - } - #region Public Properties [Parameter] @@ -23,41 +16,18 @@ namespace MP_TAB3.Components [Parameter] public MappaStatoExplModel? RecMSE { get; set; } = null; - #endregion Public Properties - #region Protected Properties + #region Public Methods - protected string IdxMaccSel + public void Dispose() { - get => idxMaccSel; - set - { - if (idxMaccSel != value) - { - idxMaccSel = value; - MsgServ.UserPrefSet(idxMaccCurr, value); - var pUpd = Task.Run(async () => - { - await E_MachSel.InvokeAsync(value); - }); - pUpd.Wait(); - } - } + TDataService.DataInvalidated -= TDataService_DataInvalidated; } - private string idxMaccSel { get; set; } = ""; - [Inject] - protected MessageService MsgServ { get; set; } = null!; + #endregion Public Methods - protected Dictionary? ListMacchine { get; set; } = null; - - [Inject] - protected SharedMemService SMServ { get; set; } = null!; - - #endregion Protected Properties - - #region Protected Methods + #region Protected Properties protected string idxMaccCurr { @@ -71,18 +41,51 @@ namespace MP_TAB3.Components return answ; } } - private static Logger Log = LogManager.GetCurrentClassLogger(); + + protected string IdxMaccSel + { + get => idxMaccSel; + set + { + if (idxMaccSel != value) + { + idxMaccSel = value; + MsgServ.UserPrefSet(idxMaccCurr, value); + } + } + } + + protected Dictionary? ListMacchine { get; set; } = null; + + [Inject] + protected MessageService MsgServ { get; set; } = null!; + + [Inject] + protected SharedMemService SMServ { get; set; } = null!; + + [Inject] + protected TabDataService TDataService { get; set; } = null!; + + #endregion Protected Properties + + #region Protected Methods + + protected override void OnInitialized() + { + //base.OnInitialized(); + firstInit = true; + TDataService.DataInvalidated += TDataService_DataInvalidated; + } protected override async Task OnParametersSetAsync() { - TDataService.DataInvalidated += TDataService_DataInvalidated; try { // inizilamente riporto macchina corrente da MSE if (RecMSE == null) { IdxMaccSel = ""; - Log.Error("Impossibile selezionare: recMSE è nullo"); + Log.Error("Impossibile selezionare: recMSE � nullo"); } else { @@ -99,10 +102,41 @@ namespace MP_TAB3.Components await Task.Delay(1); } + #endregion Protected Methods + + #region Private Fields + + private static Logger Log = LogManager.GetCurrentClassLogger(); + + private bool firstInit = true; + + private bool isMulti = false; + + #endregion Private Fields + + #region Private Properties + + private string idxMaccSel { get; set; } = ""; + + #endregion Private Properties + + #region Private Methods + + private async Task OnSelectionChanged(ChangeEventArgs e) + { + var newValue = e.Value?.ToString(); + if (newValue != idxMaccSel) + { + idxMaccSel = newValue; + await E_MachSel.InvokeAsync(newValue); + } + } + private async Task ReloadSelector(bool doReload) { - if (RecMSE != null) + if (RecMSE != null && firstInit) { + firstInit = false; // verifico se la macchina sia configurata tra le MSFD... if (SMServ.DictMacchMulti.ContainsKey(RecMSE.IdxMacchina)) { @@ -110,7 +144,6 @@ namespace MP_TAB3.Components } if (isMulti) { - var listMulti = await TDataService.VMSFDGetAll(doReload); ListMacchine = listMulti .Where(x => x.IdxMacchina.Contains($"{RecMSE.IdxMacchina}#")) @@ -138,15 +171,6 @@ namespace MP_TAB3.Components await ReloadSelector(true); } - [Inject] - protected TabDataService TDataService { get; set; } = null!; - - #endregion Protected Methods - - #region Private Fields - - private bool isMulti = false; - - #endregion Private Fields + #endregion Private Methods } } \ No newline at end of file diff --git a/MP-TAB3/MP-TAB3.csproj b/MP-TAB3/MP-TAB3.csproj index 0d55c2f5..ffe2df75 100644 --- a/MP-TAB3/MP-TAB3.csproj +++ b/MP-TAB3/MP-TAB3.csproj @@ -3,7 +3,7 @@ net6.0 enable - 6.16.2507.3108 + 6.16.2509.817 enable MP_TAB3 diff --git a/MP-TAB3/Resources/ChangeLog.html b/MP-TAB3/Resources/ChangeLog.html index 1b5c0eb8..c37e93f2 100644 --- a/MP-TAB3/Resources/ChangeLog.html +++ b/MP-TAB3/Resources/ChangeLog.html @@ -1,6 +1,6 @@ Modulo MAPOSPEC -

Versione: 6.16.2507.3108

+

Versione: 6.16.2509.817


Note di rilascio:
  • diff --git a/MP-TAB3/Resources/VersNum.txt b/MP-TAB3/Resources/VersNum.txt index 1f11db25..2e2929dd 100644 --- a/MP-TAB3/Resources/VersNum.txt +++ b/MP-TAB3/Resources/VersNum.txt @@ -1 +1 @@ -6.16.2507.3108 +6.16.2509.817 diff --git a/MP-TAB3/Resources/manifest.xml b/MP-TAB3/Resources/manifest.xml index 75724df7..36505b84 100644 --- a/MP-TAB3/Resources/manifest.xml +++ b/MP-TAB3/Resources/manifest.xml @@ -1,6 +1,6 @@ - 6.16.2507.3108 + 6.16.2509.817 https://nexus.steamware.net/repository/SWS/MP-TAB3/stable/LAST/MP-TAB3.zip https://nexus.steamware.net/repository/SWS/MP-TAB3/stable/LAST/ChangeLog.html false