From fd21093ee45dd3d7478747a7408cc34ddbd45d9f Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 24 Sep 2025 18:27:43 +0200 Subject: [PATCH] Refresh commenti --- EgwCoreLib.Lux.Data/Services/BaseServ.cs | 83 +++++++++---------- .../Services/DataLayerServices.cs | 2 +- Lux.API/Lux.API.csproj | 2 +- Lux.UI/Components/Compo/OfferRowMan.razor.cs | 23 ++--- Lux.UI/Lux.UI.csproj | 2 +- Resources/ChangeLog.html | 2 +- Resources/VersNum.txt | 2 +- Resources/manifest.xml | 2 +- 8 files changed, 57 insertions(+), 61 deletions(-) diff --git a/EgwCoreLib.Lux.Data/Services/BaseServ.cs b/EgwCoreLib.Lux.Data/Services/BaseServ.cs index 1bc85ec7..944f1610 100644 --- a/EgwCoreLib.Lux.Data/Services/BaseServ.cs +++ b/EgwCoreLib.Lux.Data/Services/BaseServ.cs @@ -14,19 +14,24 @@ using System.Threading.Tasks; namespace EgwCoreLib.Lux.Data.Services { /// - /// BaseServ class serves as a foundational service for handling Redis operations and message piping. - /// It provides common configurations, caching strategies, and message delivery mechanisms for derived services. - /// The class initializes Redis connections, sets up message channels, and manages JSON serialization with loop handling. + /// Classe base per i servizi che fornisce funzionalità comuni come + /// - connessione a Redis + /// - configurazione + /// - gestione dei messaggi + /// - strategie di caching. + /// + /// Questa classe agisce come modello per altri servizi derivati. /// public class BaseServ { #region Public Constructors /// - /// Initializes a new instance of the BaseServ class. + /// Inizializza una nuova istanza della classe BaseServ. + /// Configura la connessione Redis, carica le impostazioni di configurazione e inizializza il serializzatore JSON. /// - /// Configuration object to retrieve application settings. - /// Redis connection multiplexer for database operations. + /// Oggetto di configurazione per recuperare le impostazioni dell'applicazione. + /// Multiplexer di connessione Redis per operazioni sul database. public BaseServ(IConfiguration Configuration, IConnectionMultiplexer RedisConn) { _config = Configuration; @@ -51,18 +56,14 @@ namespace EgwCoreLib.Lux.Data.Services updateChannel += ":*"; } - // JSON serializer settings to prevent circular reference errors during serialization - // ReferenceLoopHandling.Ignore ensures that circular references in objects are ignored instead of throwing exceptions + // Configurazione serializzatore JSON per risolvere errore di loop circolare JSSettings = new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }; - // Initializes a message pipe for communication between calculation services and UI components - // Messages are sent via the specified Redis channel (svgChannel) + // Configurazione pipe dei messaggi CalcDonePipe = new MessagePipe(redisConn, svgChannel); - - // init others channel BomPipe = new MessagePipe(RedisConn, bomChannel); UpdatePipe = new MessagePipe(RedisConn, updateChannel); } @@ -72,19 +73,18 @@ namespace EgwCoreLib.Lux.Data.Services #region Public Properties /// - /// Message pipe for BOM calculation update + /// Pipe dei messaggi per la comunicazione riguardo update calcolo BOM /// public MessagePipe BomPipe { get; set; } = null!; /// - /// Message pipe for delivering completion messages from calculation services to the UI. - /// Uses Redis to publish messages on the svgChannel for real-time updates. + /// Pipe dei messaggi per la comunicazione tra servizi di calcolo e interfaccia utente. + /// I messaggi vengono inviati sul canale Redis definito da svgChannel. /// public MessagePipe CalcDonePipe { get; set; } = null!; /// - /// Message pipe for delivering generico update to the UI. - /// Uses Redis to publish messages on the updateChannel for real-time updates. + /// Pipe dei messaggi per la comunicazione riguardo update generico UI /// public MessagePipe UpdatePipe { get; set; } = null!; @@ -93,26 +93,25 @@ namespace EgwCoreLib.Lux.Data.Services #region Protected Fields /// - /// Configuration object for accessing application settings (e.g., connection strings, service parameters). - /// This is a static instance shared across all instances of BaseServ. + /// Oggetto di configurazione statico per accedere alle impostazioni dell'applicazione (es. stringhe di connessione). + /// Condiviso tra tutte le istanze di BaseServ. /// protected static IConfiguration _config = null!; /// - /// JSON serialization settings to handle circular references (e.g., object references to themselves). - /// Prevents exceptions during serialization by ignoring loops. + /// Impostazioni del serializzatore JSON utilizzato per gestire oggetti con riferimenti circolari + /// (es. oggetti che si fanno riferimento reciprocamente). /// protected JsonSerializerSettings? JSSettings; /// - /// Redis connection multiplexer that provides access to Redis database operations. - /// Used for reading and writing data in Redis. + /// Oggetto per la connessione a Redis utilizzato per operazioni di lettura/scrittura. /// protected IConnectionMultiplexer redisConn = null!; /// - /// Redis database instance used for performing read/write operations. - /// This database is accessed via the redisConn.GetDatabase() method. + /// Database Redis utilizzato per le operazioni di lettura/scrittura + /// nb: ottenuto tramite redisConn.GetDatabase() /// protected IDatabase redisDb = null!; @@ -121,8 +120,7 @@ namespace EgwCoreLib.Lux.Data.Services #region Protected Properties /// - /// Cache duration for short-term operations (approximately 1 minute with ±10% variation). - /// The actual duration is calculated dynamically with a random factor to avoid fixed TTLs. + /// Durata della cache breve (circa 1 minuto + variazione del +/-10%) /// protected TimeSpan FastCache { @@ -130,8 +128,7 @@ namespace EgwCoreLib.Lux.Data.Services } /// - /// Cache duration for long-term operations (5 minutes with ±10% variation). - /// Used for data that should be cached for longer periods but still allow some flexibility. + /// Durata della cache lunga (+ variazione del +/-10%) /// protected TimeSpan LongCache { @@ -139,8 +136,7 @@ namespace EgwCoreLib.Lux.Data.Services } /// - /// Cache duration for very short-term operations (approximately 10 seconds with ±10% variation). - /// Used for transient data that needs to be refreshed frequently. + /// Durata della cache molto breve (circa 10 secondi + variazione del +/-10%) /// protected TimeSpan UltraFastCache { @@ -148,8 +144,7 @@ namespace EgwCoreLib.Lux.Data.Services } /// - /// Cache duration for very long-term operations (up to 50 minutes with ±10% variation). - /// Designed for data that changes infrequently and requires long-term persistence. + /// Durata della cache molto lunga (+ variazione del +/-10%) /// protected TimeSpan UltraLongCache { @@ -161,8 +156,8 @@ namespace EgwCoreLib.Lux.Data.Services #region Private Fields /// - /// Logger instance for logging events and errors at the class level. - /// Used to track application behavior and diagnose issues. + /// Oggetto logger utilizzato per registrare eventi e errori a livello di classe. + /// Utile per il monitoraggio del comportamento dell'applicazione e la risoluzione di problemi. /// private static Logger Log = LogManager.GetCurrentClassLogger(); @@ -172,31 +167,31 @@ namespace EgwCoreLib.Lux.Data.Services private string bomChannel = ""; /// - /// Duration of long-term cache in seconds (default: 5 minutes). - /// Used in the LongCache property to define how long data should be cached. + /// Durata della cache lunga in secondi (predefinito: 5 minuti) + /// Utilizzato nella proprietà LongCache per definire quanto a lungo i dati devono essere memorizzati in cache. /// private int cacheTtlLong = 60 * 5; /// - /// Duration of short-term cache in seconds (default: 1 minute). - /// Used in the FastCache and UltraFastCache properties to define short-term cache durations. + /// Durata della cache breve in secondi (predefinito: 1 minuto) + /// Utilizzato nelle proprietà FastCache e UltraFastCache per definire la durata della cache breve. /// private int cacheTtlShort = 60 * 1; /// - /// Random number generator for introducing dynamic variability in cache durations. - /// Used to simulate real-world variations in data freshness and TTL. + /// Generatore di numeri casuali utilizzato per introdurre variabilità dinamica nelle durate della cache + /// (simula variazioni reali nella freschezza dei dati e nei tempi di scadenza). /// private Random rnd = new Random(); /// - /// The Redis channel name used for subscribing to and publishing messages. - /// Default is "svg:img", with a wildcard suffix ":*" to enable dynamic message matching. + /// Nome del canale Redis utilizzato per l'invio/ricezione di messaggi relativi a img svg. + /// Predefinito a "svg:img" con suffisso ":*". /// private string svgChannel = ""; /// - /// Redis channel for generic update info + /// Nome del canale Redis utilizzato per l'invio/ricezione di messaggi di update /// private string updateChannel = ""; diff --git a/EgwCoreLib.Lux.Data/Services/DataLayerServices.cs b/EgwCoreLib.Lux.Data/Services/DataLayerServices.cs index 810d628b..efe7a9c3 100644 --- a/EgwCoreLib.Lux.Data/Services/DataLayerServices.cs +++ b/EgwCoreLib.Lux.Data/Services/DataLayerServices.cs @@ -621,7 +621,7 @@ namespace EgwCoreLib.Lux.Data.Services var bomList = JsonConvert.DeserializeObject>(bomContent); if (bomList != null) { - // verifico 1:1 gli item ricevuti dalla BOM sul DB con eventuale insert in anagrafica + // verifico 1:1 gli item ricevuti dalla BOM sul DB con eventuale insert in anagrafica dei nuovi dbController.ItemUpsertFromBom(bomList); // salvo la BOM nel record del DB relativo all'oggetto richiesto dbController.OfferUpsertFromBom(uID, bomList); diff --git a/Lux.API/Lux.API.csproj b/Lux.API/Lux.API.csproj index 2475a0ff..732cc7df 100644 --- a/Lux.API/Lux.API.csproj +++ b/Lux.API/Lux.API.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.9.2509.2417 + 0.9.2509.2418 diff --git a/Lux.UI/Components/Compo/OfferRowMan.razor.cs b/Lux.UI/Components/Compo/OfferRowMan.razor.cs index 495cf280..8596254c 100644 --- a/Lux.UI/Components/Compo/OfferRowMan.razor.cs +++ b/Lux.UI/Components/Compo/OfferRowMan.razor.cs @@ -197,17 +197,6 @@ namespace Lux.UI.Components.Compo await EC_Updated.InvokeAsync(true); } - /// - /// Legge i dati dei record completi - /// - private async Task ReloadData() - { - if (OfferID > 0) - { - AllRecords = await DLService.OfferRowGetByOffer(OfferID); - totalCount = AllRecords.Count(); - } - } /// /// Svuota cache corrente + rilegge dati /// @@ -222,6 +211,18 @@ namespace Lux.UI.Components.Compo isLoading = false; } + /// + /// Legge i dati dei record completi + /// + private async Task ReloadData() + { + if (OfferID > 0) + { + AllRecords = await DLService.OfferRowGetByOffer(OfferID); + totalCount = AllRecords.Count(); + } + } + /// /// salva nel record corrente la BOM aggiornata e poi ricalcola importo... /// diff --git a/Lux.UI/Lux.UI.csproj b/Lux.UI/Lux.UI.csproj index ac3e0c79..7ea41b3b 100644 --- a/Lux.UI/Lux.UI.csproj +++ b/Lux.UI/Lux.UI.csproj @@ -5,7 +5,7 @@ enable enable aspnet-Lux.UI-a758c101-a2f4-4e38-977d-1c4887dbbd50 - 0.9.2509.2417 + 0.9.2509.2418 diff --git a/Resources/ChangeLog.html b/Resources/ChangeLog.html index 430ad22e..4092c32d 100644 --- a/Resources/ChangeLog.html +++ b/Resources/ChangeLog.html @@ -1,6 +1,6 @@ LUX - Web Windows MES -

Versione: 0.9.2509.2417

+

Versione: 0.9.2509.2418


Note di rilascio:
  • diff --git a/Resources/VersNum.txt b/Resources/VersNum.txt index 647b6fa8..683e8e87 100644 --- a/Resources/VersNum.txt +++ b/Resources/VersNum.txt @@ -1 +1 @@ -0.9.2509.2417 +0.9.2509.2418 diff --git a/Resources/manifest.xml b/Resources/manifest.xml index 0a85f6b6..55662aee 100644 --- a/Resources/manifest.xml +++ b/Resources/manifest.xml @@ -1,6 +1,6 @@ - 0.9.2509.2417 + 0.9.2509.2418 http://nexus.steamware.net/repository/SWS/GPW/stable/GPW.UI.zip http://nexus.steamware.net/repository/SWS/GPW/stable/ChangeLog.html false