(entity =>
+ {
+ entity.HasKey(e => new { e.Lingua, e.Lemma });
});
diff --git a/MP.SPEC/Components/ListPARAMS.razor b/MP.SPEC/Components/ListPARAMS.razor
index 7d93b2da..d49a30f6 100644
--- a/MP.SPEC/Components/ListPARAMS.razor
+++ b/MP.SPEC/Components/ListPARAMS.razor
@@ -22,6 +22,7 @@ else
| Data |
Macchina |
Parametro |
+ Nome |
Valore |
@@ -41,6 +42,9 @@ else
@record.CodFlux
|
+
+ @traduci(record.CodFlux)
+ |
@record.Valore
|
diff --git a/MP.SPEC/Components/ListPARAMS.razor.cs b/MP.SPEC/Components/ListPARAMS.razor.cs
index c1543575..48e215a9 100644
--- a/MP.SPEC/Components/ListPARAMS.razor.cs
+++ b/MP.SPEC/Components/ListPARAMS.razor.cs
@@ -182,6 +182,13 @@ namespace MP.SPEC.Components
#endregion Protected Methods
+
+ private string traduci(string lemma)
+ {
+ var answ = MDService.Traduci(lemma, "IT");
+ return answ;
+ }
+
#region Private Fields
private static System.Timers.Timer aTimer = null!;
diff --git a/MP.SPEC/Data/MpDataService.cs b/MP.SPEC/Data/MpDataService.cs
index 6297fedb..146ff727 100644
--- a/MP.SPEC/Data/MpDataService.cs
+++ b/MP.SPEC/Data/MpDataService.cs
@@ -53,7 +53,6 @@ namespace MP.SPEC.Data
///
public Dictionary> currTagConf { get; set; } = new Dictionary>();
-
#endregion Public Properties
#region Public Methods
@@ -393,6 +392,19 @@ namespace MP.SPEC.Data
return result;
}
+ ///
+ /// Inserimento nuovo record dossier
+ ///
+ ///
+ ///
+ public async Task DossiersInsert(Dossiers currDoss)
+ {
+ // aggiorno record sul DB
+ bool answ = await dbController.DossiersUpdateValore(currDoss);
+
+ return answ;
+ }
+
///
/// Effettua salvataggio snapshot parametri (con stored) + svuota eventuale cache redis
///
@@ -434,6 +446,19 @@ namespace MP.SPEC.Data
return answ;
}
+ ///
+ /// Update valore dossier
+ ///
+ ///
+ ///
+ public async Task DossiersUpdateValore(Dossiers currDoss)
+ {
+ // aggiorno record sul DB
+ bool answ = await dbController.DossiersUpdateValore(currDoss);
+
+ return answ;
+ }
+
///
/// Restitusice elenco aziende
///
@@ -472,6 +497,8 @@ namespace MP.SPEC.Data
await Task.Delay(1);
RedisValue pattern = new RedisValue($"{redisBaseAddr}*");
bool answ = await ExecFlushRedisPattern(pattern);
+ // rileggo vocabolario.,..
+ ObjVocabolario = VocabolarioGetAll();
return answ;
}
@@ -610,8 +637,6 @@ namespace MP.SPEC.Data
TimeSpan ts = stopWatch.Elapsed;
Log.Debug($"ListPODLFilt | Read from {readType}: {ts.TotalMilliseconds}ms");
return result;
-
-
}
///
@@ -769,7 +794,6 @@ namespace MP.SPEC.Data
TimeSpan ts = stopWatch.Elapsed;
Log.Debug($"OdlGetCurrent | Read from {readType}: {ts.TotalMilliseconds}ms");
-
return dbResult;
}
@@ -863,6 +887,29 @@ namespace MP.SPEC.Data
return dbController.OdlStart(IdxOdl);
}
+ ///
+ /// Esegue traduzione dato vocabolario da Lingua + Lemma
+ ///
+ ///
+ ///
+ ///
+ public string Traduci(string lemma, string lingua)
+ {
+ string answ = $"[{lemma}]";
+ // verifico se ho qualcosa nell'obj vocabolario...
+ if (ObjVocabolario == null || ObjVocabolario.Count == 0)
+ {
+ // inizializzo il vocabolario...
+ ObjVocabolario = VocabolarioGetAll();
+ }
+ var record = ObjVocabolario.Where(x => x.Lingua == lingua && x.Lemma == lemma).FirstOrDefault();
+ if (record != null)
+ {
+ answ = record.Traduzione;
+ }
+ return answ;
+ }
+
public async Task updateDossierValue(Dossiers currDoss, FluxLogDTO editFL)
{
bool answ = false;
@@ -903,13 +950,38 @@ namespace MP.SPEC.Data
return answ;
}
-
- public async Task DossiersUpdateValore(Dossiers currDoss)
+ ///
+ /// Elenco completo tabella Vocabolario
+ ///
+ ///
+ public List VocabolarioGetAll()
{
- // aggiorno record sul DB
- bool answ = await dbController.DossiersUpdateValore(currDoss);
-
- return answ;
+ Stopwatch stopWatch = new Stopwatch();
+ stopWatch.Start();
+ List? result = new List();
+ string source = "REDIS";
+ // cerco in redis...
+ RedisValue rawData = redisDb.StringGet(redisVocabolario);
+ if (!string.IsNullOrEmpty($"{rawData}"))
+ {
+ result = JsonConvert.DeserializeObject>($"{rawData}");
+ }
+ else
+ {
+ result = dbController.VocabolarioGetAll();
+ // serializzo e salvo...
+ rawData = JsonConvert.SerializeObject(result);
+ redisDb.StringSet(redisVocabolario, rawData, getRandTOut(redisLongTimeCache / 5));
+ source = "DB";
+ }
+ stopWatch.Stop();
+ TimeSpan ts = stopWatch.Elapsed;
+ Log.Debug($"VocabolarioGetAll Read from {source}: {ts.TotalMilliseconds}ms");
+ if (result == null)
+ {
+ result = new List();
+ }
+ return result;
}
#endregion Public Methods
@@ -938,7 +1010,9 @@ namespace MP.SPEC.Data
#region Private Fields
private const string redisArtByDossier = redisBaseAddr + "SPEC:Cache:ArtByDossier";
+
private const string redisArtList = redisBaseAddr + "SPEC:Cache:ArtList";
+
private const string redisBaseAddr = "MP:";
private const string redisConfKey = redisBaseAddr + "SPEC:Cache:Config";
@@ -946,23 +1020,34 @@ namespace MP.SPEC.Data
private const string redisDossByMac = redisBaseAddr + "SPEC:Cache:DossByMac";
private const string redisFluxByMac = redisBaseAddr + "SPEC:Cache:FluxByMac";
- private const string redisOdlCurrByMac = redisBaseAddr + "SPEC:Cache:OdlByMac";
+
+ private const string redisFluxLogFilt = redisBaseAddr + "SPEC:Cache:FluxLogFilt";
private const string redisMacByFlux = redisBaseAddr + "SPEC:Cache:MacByFlux";
+
private const string redisMacList = redisBaseAddr + "SPEC:Cache:MacList";
+
+ private const string redisOdlCurrByMac = redisBaseAddr + "SPEC:Cache:OdlByMac";
+
private const string redisPOdlList = redisBaseAddr + "SPEC:Cache:POdlList";
- private const string redisFluxLogFilt = redisBaseAddr + "SPEC:Cache:FluxLogFilt";
private const string redisStatoCom = redisBaseAddr + "SPEC:Cache:StatoCom";
private const string redisTipoArt = redisBaseAddr + "SPEC:Cache:TipoArt";
+ private const string redisVocabolario = redisBaseAddr + "SPEC:Cache:Vocabolario";
+
private static IConfiguration _configuration = null!;
private static ILogger _logger = null!;
private static Logger Log = LogManager.GetCurrentClassLogger();
+ ///
+ /// Oggetto vocabolario x uso continuo traduzione
+ ///
+ private List ObjVocabolario = new List();
+
///
/// Oggetto per connessione a REDIS
///
diff --git a/MP.SPEC/MP.SPEC.csproj b/MP.SPEC/MP.SPEC.csproj
index b871039a..4eed2b81 100644
--- a/MP.SPEC/MP.SPEC.csproj
+++ b/MP.SPEC/MP.SPEC.csproj
@@ -5,7 +5,7 @@
enable
enable
MP.SPEC
- 6.16.2210.2110
+ 6.16.2211.311
diff --git a/MP.SPEC/Resources/ChangeLog.html b/MP.SPEC/Resources/ChangeLog.html
index 84ccf39f..0fb5f0b8 100644
--- a/MP.SPEC/Resources/ChangeLog.html
+++ b/MP.SPEC/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Modulo MAPOSPEC
- Versione: 6.16.2210.2110
+ Versione: 6.16.2211.311
Note di rilascio:
-
diff --git a/MP.SPEC/Resources/VersNum.txt b/MP.SPEC/Resources/VersNum.txt
index 148d3a17..22639881 100644
--- a/MP.SPEC/Resources/VersNum.txt
+++ b/MP.SPEC/Resources/VersNum.txt
@@ -1 +1 @@
-6.16.2210.2110
+6.16.2211.311
diff --git a/MP.SPEC/Resources/manifest.xml b/MP.SPEC/Resources/manifest.xml
index 463051c6..33dd5804 100644
--- a/MP.SPEC/Resources/manifest.xml
+++ b/MP.SPEC/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 6.16.2210.2110
+ 6.16.2211.311
https://nexus.steamware.net/repository/SWS/MP-SPEC/stable/LAST/MP.SPEC.zip
https://nexus.steamware.net/repository/SWS/MP-SPEC/stable/LAST/ChangeLog.html
false