diff --git a/MP-TAB3/MP-TAB3.csproj b/MP-TAB3/MP-TAB3.csproj
index a1369640..824d4710 100644
--- a/MP-TAB3/MP-TAB3.csproj
+++ b/MP-TAB3/MP-TAB3.csproj
@@ -3,7 +3,7 @@
net8.0
enable
- 8.16.2605.2813
+ 8.16.2605.2814
enable
MP_TAB3
diff --git a/MP-TAB3/Resources/ChangeLog.html b/MP-TAB3/Resources/ChangeLog.html
index 27cc5bf1..4a3ba3b7 100644
--- a/MP-TAB3/Resources/ChangeLog.html
+++ b/MP-TAB3/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Modulo MAPOSPEC
- Versione: 8.16.2605.2813
+ Versione: 8.16.2605.2814
Note di rilascio:
-
diff --git a/MP-TAB3/Resources/VersNum.txt b/MP-TAB3/Resources/VersNum.txt
index 44370d54..6454cfbd 100644
--- a/MP-TAB3/Resources/VersNum.txt
+++ b/MP-TAB3/Resources/VersNum.txt
@@ -1 +1 @@
-8.16.2605.2813
+8.16.2605.2814
diff --git a/MP-TAB3/Resources/manifest.xml b/MP-TAB3/Resources/manifest.xml
index 1f1848d9..7f38c389 100644
--- a/MP-TAB3/Resources/manifest.xml
+++ b/MP-TAB3/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 8.16.2605.2813
+ 8.16.2605.2814
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
diff --git a/MP.Data/Controllers/MpSpecController.cs b/MP.Data/Controllers/MpSpecController.cs
index 236c15e4..63e33058 100644
--- a/MP.Data/Controllers/MpSpecController.cs
+++ b/MP.Data/Controllers/MpSpecController.cs
@@ -379,15 +379,13 @@ namespace MP.Data.Controllers
public List ArticleWithDossier()
{
List dbResult = new List();
- using (var dbCtx = new MoonPro_FluxContext(_configuration))
- {
- dbResult = dbCtx
- .DbSetDossiers
- .AsNoTracking()
- .Select(i => i.CodArticolo)
- .Distinct()
- .ToList();
- }
+ using var dbCtx = new MoonPro_FluxContext(_configuration);
+ dbResult = dbCtx
+ .DbSetDossiers
+ .AsNoTracking()
+ .Select(i => i.CodArticolo)
+ .Distinct()
+ .ToList();
return dbResult;
}
@@ -572,6 +570,22 @@ namespace MP.Data.Controllers
return dbResult;
}
+ ///
+ /// Elenco Articoli che sono in KIT Child
+ ///
+ ///
+ public async Task
> ArticoliInKitAsync()
+ {
+ List dbResult = new List();
+ using var dbCtx = new MoonProContext(options);
+ dbResult = await dbCtx
+ .DbSetArticoli
+ .FromSqlRaw("EXEC stp_TempKIT_getArtChild")
+ .AsNoTracking()
+ .ToListAsync();
+ return dbResult;
+ }
+
///
/// Update Record
///
diff --git a/MP.INVE/MP.INVE.csproj b/MP.INVE/MP.INVE.csproj
index c0efe24e..8f59e4d6 100644
--- a/MP.INVE/MP.INVE.csproj
+++ b/MP.INVE/MP.INVE.csproj
@@ -5,7 +5,7 @@
enable
enable
MP.INVE
- 8.16.2605.2813
+ 8.16.2605.2814
diff --git a/MP.INVE/Resources/ChangeLog.html b/MP.INVE/Resources/ChangeLog.html
index 4bee3c34..a7cd6871 100644
--- a/MP.INVE/Resources/ChangeLog.html
+++ b/MP.INVE/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Modulo MAPOINVE
- Versione: 8.16.2605.2813
+ Versione: 8.16.2605.2814
Note di rilascio:
-
diff --git a/MP.INVE/Resources/VersNum.txt b/MP.INVE/Resources/VersNum.txt
index 44370d54..6454cfbd 100644
--- a/MP.INVE/Resources/VersNum.txt
+++ b/MP.INVE/Resources/VersNum.txt
@@ -1 +1 @@
-8.16.2605.2813
+8.16.2605.2814
diff --git a/MP.INVE/Resources/manifest.xml b/MP.INVE/Resources/manifest.xml
index 8607ff63..b834439b 100644
--- a/MP.INVE/Resources/manifest.xml
+++ b/MP.INVE/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 8.16.2605.2813
+ 8.16.2605.2814
https://nexus.steamware.net/repository/SWS/MP-INVE/stable/LAST/MP.INVE.zip
https://nexus.steamware.net/repository/SWS/MP-INVE/stable/LAST/ChangeLog.html
false
diff --git a/MP.IOC/MP.IOC.csproj b/MP.IOC/MP.IOC.csproj
index ebb58f99..afca689d 100644
--- a/MP.IOC/MP.IOC.csproj
+++ b/MP.IOC/MP.IOC.csproj
@@ -4,7 +4,7 @@
net8.0
enable
enable
- 8.16.2605.2813
+ 8.16.2605.2814
diff --git a/MP.IOC/Resources/ChangeLog.html b/MP.IOC/Resources/ChangeLog.html
index 35048e17..a66dda6f 100644
--- a/MP.IOC/Resources/ChangeLog.html
+++ b/MP.IOC/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Modulo MP-IOC
-
Versione: 8.16.2605.2813
+ Versione: 8.16.2605.2814
Note di rilascio:
-
diff --git a/MP.IOC/Resources/VersNum.txt b/MP.IOC/Resources/VersNum.txt
index 44370d54..6454cfbd 100644
--- a/MP.IOC/Resources/VersNum.txt
+++ b/MP.IOC/Resources/VersNum.txt
@@ -1 +1 @@
-8.16.2605.2813
+8.16.2605.2814
diff --git a/MP.IOC/Resources/manifest.xml b/MP.IOC/Resources/manifest.xml
index f27bc7f5..5857f651 100644
--- a/MP.IOC/Resources/manifest.xml
+++ b/MP.IOC/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 8.16.2605.2813
+ 8.16.2605.2814
https://nexus.steamware.net/repository/SWS/MP-IOC/stable/LAST/MP.IOC.zip
https://nexus.steamware.net/repository/SWS/MP-IOC/stable/LAST/ChangeLog.html
false
diff --git a/MP.Land/MP.Land.csproj b/MP.Land/MP.Land.csproj
index 031dfb6e..4598fb26 100644
--- a/MP.Land/MP.Land.csproj
+++ b/MP.Land/MP.Land.csproj
@@ -3,7 +3,7 @@
net8.0
MP.Land
- 8.16.2605.2813
+ 8.16.2605.2814
Debug;Release;Debug_LiManDebug
en
True
diff --git a/MP.Land/Resources/ChangeLog.html b/MP.Land/Resources/ChangeLog.html
index 8a6e8d56..4870a12b 100644
--- a/MP.Land/Resources/ChangeLog.html
+++ b/MP.Land/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Modulo Tablet MAPO - DotNet6
-
Versione: 8.16.2605.2813
+ Versione: 8.16.2605.2814
Note di rilascio:
diff --git a/MP.Land/Resources/VersNum.txt b/MP.Land/Resources/VersNum.txt
index 44370d54..6454cfbd 100644
--- a/MP.Land/Resources/VersNum.txt
+++ b/MP.Land/Resources/VersNum.txt
@@ -1 +1 @@
-8.16.2605.2813
+8.16.2605.2814
diff --git a/MP.Land/Resources/manifest.xml b/MP.Land/Resources/manifest.xml
index 20889b50..04e9d50e 100644
--- a/MP.Land/Resources/manifest.xml
+++ b/MP.Land/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 8.16.2605.2813
+ 8.16.2605.2814
https://nexus.steamware.net/repository/SWS/MP-LAND/stable/LAST/MP.Land.zip
https://nexus.steamware.net/repository/SWS/MP-LAND/stable/LAST/ChangeLog.html
false
diff --git a/MP.MON/MP.MON.csproj b/MP.MON/MP.MON.csproj
index 4785d316..105ef2d7 100644
--- a/MP.MON/MP.MON.csproj
+++ b/MP.MON/MP.MON.csproj
@@ -6,7 +6,7 @@
enable
MP.MON
$(AssemblyName.Replace(' ', '_'))
- 8.16.2605.2813
+ 8.16.2605.2814
diff --git a/MP.MON/Resources/ChangeLog.html b/MP.MON/Resources/ChangeLog.html
index 27cc5bf1..4a3ba3b7 100644
--- a/MP.MON/Resources/ChangeLog.html
+++ b/MP.MON/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Modulo MAPOSPEC
- Versione: 8.16.2605.2813
+ Versione: 8.16.2605.2814
Note di rilascio:
-
diff --git a/MP.MON/Resources/VersNum.txt b/MP.MON/Resources/VersNum.txt
index 44370d54..6454cfbd 100644
--- a/MP.MON/Resources/VersNum.txt
+++ b/MP.MON/Resources/VersNum.txt
@@ -1 +1 @@
-8.16.2605.2813
+8.16.2605.2814
diff --git a/MP.MON/Resources/manifest.xml b/MP.MON/Resources/manifest.xml
index b7f7a499..7243b6d7 100644
--- a/MP.MON/Resources/manifest.xml
+++ b/MP.MON/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 8.16.2605.2813
+ 8.16.2605.2814
https://nexus.steamware.net/repository/SWS/MP-MON/stable/LAST/MP.MON.zip
https://nexus.steamware.net/repository/SWS/MP-MON/stable/LAST/ChangeLog.html
false
diff --git a/MP.Prog/MP.Prog.csproj b/MP.Prog/MP.Prog.csproj
index 6bdfd81f..b97e8d09 100644
--- a/MP.Prog/MP.Prog.csproj
+++ b/MP.Prog/MP.Prog.csproj
@@ -3,7 +3,7 @@
net8.0
MP.Prog
- 8.16.2605.2813
+ 8.16.2605.2814
True
diff --git a/MP.Prog/Resources/ChangeLog.html b/MP.Prog/Resources/ChangeLog.html
index 6157c881..cf498c8a 100644
--- a/MP.Prog/Resources/ChangeLog.html
+++ b/MP.Prog/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Modulo gestione Programmi MAPO
-
Versione: 8.16.2605.2813
+ Versione: 8.16.2605.2814
Note di rilascio:
diff --git a/MP.Prog/Resources/VersNum.txt b/MP.Prog/Resources/VersNum.txt
index 44370d54..6454cfbd 100644
--- a/MP.Prog/Resources/VersNum.txt
+++ b/MP.Prog/Resources/VersNum.txt
@@ -1 +1 @@
-8.16.2605.2813
+8.16.2605.2814
diff --git a/MP.Prog/Resources/manifest.xml b/MP.Prog/Resources/manifest.xml
index fcda10d7..85a76b76 100644
--- a/MP.Prog/Resources/manifest.xml
+++ b/MP.Prog/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 8.16.2605.2813
+ 8.16.2605.2814
https://nexus.steamware.net/repository/SWS/MP-PROG/stable/LAST/MP.Prog.zip
https://nexus.steamware.net/repository/SWS/MP-PROG/stable/LAST/ChangeLog.html
false
diff --git a/MP.RIOC/MP.RIOC.csproj b/MP.RIOC/MP.RIOC.csproj
index 2d6e755f..c1490005 100644
--- a/MP.RIOC/MP.RIOC.csproj
+++ b/MP.RIOC/MP.RIOC.csproj
@@ -5,7 +5,7 @@
enable
enable
MP.RIOC
- 8.16.2605.2813
+ 8.16.2605.2814
diff --git a/MP.RIOC/Resources/ChangeLog.html b/MP.RIOC/Resources/ChangeLog.html
index 60808d02..49048720 100644
--- a/MP.RIOC/Resources/ChangeLog.html
+++ b/MP.RIOC/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Modulo MP-RIOC
-
Versione: 8.16.2605.2813
+ Versione: 8.16.2605.2814
Note di rilascio:
-
diff --git a/MP.RIOC/Resources/VersNum.txt b/MP.RIOC/Resources/VersNum.txt
index 44370d54..6454cfbd 100644
--- a/MP.RIOC/Resources/VersNum.txt
+++ b/MP.RIOC/Resources/VersNum.txt
@@ -1 +1 @@
-8.16.2605.2813
+8.16.2605.2814
diff --git a/MP.RIOC/Resources/manifest.xml b/MP.RIOC/Resources/manifest.xml
index 3c7d9eba..c2fcb518 100644
--- a/MP.RIOC/Resources/manifest.xml
+++ b/MP.RIOC/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 8.16.2605.2813
+ 8.16.2605.2814
https://nexus.steamware.net/repository/SWS/MP-RIOC/stable/LAST/MP.RIOC.zip
https://nexus.steamware.net/repository/SWS/MP-RIOC/stable/LAST/ChangeLog.html
false
diff --git a/MP.SPEC/Data/MpDataService.cs b/MP.SPEC/Data/MpDataService.cs
index 3c49b185..34d7a820 100644
--- a/MP.SPEC/Data/MpDataService.cs
+++ b/MP.SPEC/Data/MpDataService.cs
@@ -287,6 +287,23 @@ namespace MP.SPEC.Data
);
}
+ ///
+ /// Elenco articoli contenuti in Kit (come child), non eliminabli
+ ///
+ ///
+ public async Task
> ArticoliInKitAsync()
+ {
+ string redisKey = $"{Utils.redisArtList}:InKit";
+ return await GetOrFetchAsync(
+ operationName: "ArticoliInKitAsync",
+ cacheKey: redisKey,
+ expiration: getRandTOut(redisLongTimeCache),
+ fetchFunc: async () =>
+ await dbController.ArticoliInKitAsync() ?? new List(),
+ tagList: [Utils.redisArtList, $"{Utils.redisArtList}:InKit"]
+ );
+ }
+
///
/// Restitusice elenco articoli cercati
///
@@ -337,8 +354,8 @@ namespace MP.SPEC.Data
using var activity = ActivitySource.StartActivity("ArticoloDelEnabled");
string codArticolo = $"{CodArt}";
- int numUsed = _usedArtIdsCache.Count;
- int numUnused = _unusedArtIdsCache.Count;
+ int numUsed = _listCodArtUsed.Count;
+ int numUnused = _listCodArtNotUsed.Count;
bool usato = true;
string source = "MEMORY";
// 1. Controllo immediato sulla cache locale (HashSet) x eventuale refresh
@@ -351,20 +368,24 @@ namespace MP.SPEC.Data
task.Wait();
// rileggo
- numUsed = _usedArtIdsCache.Count;
- numUnused = _unusedArtIdsCache.Count;
+ numUsed = _listCodArtUsed.Count;
+ numUnused = _listCodArtNotUsed.Count;
}
// verifico quale sia l'elenco
if (numUsed > 0)
{
- usato = _usedArtIdsCache.Contains(codArticolo);
+ usato = _listCodArtUsed.Contains(codArticolo);
}
else
{
- usato = !_unusedArtIdsCache.Contains(codArticolo);
+ usato = !_listCodArtNotUsed.Contains(codArticolo);
+ }
+ // verifico infine anche che NON sia nell'elenco degli articoli in KIT
+ if (!usato)
+ {
+ usato = _listCodArtInKit.Contains(CodArt);
}
-
activity?.SetTag("data.source", source);
activity?.Stop();
LogTrace($"ArticoloDelEnabled | Cod: {codArticolo} | {source} | {activity?.Duration.TotalMilliseconds}ms");
@@ -726,7 +747,7 @@ namespace MP.SPEC.Data
///
public async Task EnsureArtCacheLoadedAsync(bool forceReload)
{
- if (!forceReload && (DateTime.Now < _artCacheExpiry && (_usedArtIdsCache.Count > 0 || _unusedArtIdsCache.Count > 0)))
+ if (!forceReload && (DateTime.Now < _artCacheExpiry && (_listCodArtUsed.Count > 0 || _listCodArtNotUsed.Count > 0)))
return;
try
@@ -738,16 +759,20 @@ namespace MP.SPEC.Data
if (usedCount <= (totalCount - usedCount))
{
var usedList = await dbController.ArticoliGetUsedAsync();
- _usedArtIdsCache = new HashSet(usedList.Select(x => x.CodArticolo));
- _unusedArtIdsCache.Clear();
+ _listCodArtUsed = new HashSet(usedList.Select(x => x.CodArticolo));
+ _listCodArtNotUsed.Clear();
}
else
{
var unusedList = await dbController.ArticoliGetUnusedAsync();
- _unusedArtIdsCache = new HashSet(unusedList.Select(x => x.CodArticolo));
- _usedArtIdsCache.Clear();
+ _listCodArtNotUsed = new HashSet(unusedList.Select(x => x.CodArticolo));
+ _listCodArtUsed.Clear();
}
- _artCacheExpiry = DateTime.Now.AddMinutes(15); // TTL ragionevole per la cache locale
+ // calcolo anche elenco articoli impiegati in istanzanKIT
+ var listInKit = await dbController.ArticoliInKitAsync();
+ _listCodArtInKit = new HashSet(listInKit.Select(x => x.CodArticolo));
+
+ _artCacheExpiry = DateTime.Now.AddMinutes(5); // TTL ragionevole per la cache locale
}
catch (Exception ex)
{
@@ -2524,10 +2549,20 @@ namespace MP.SPEC.Data
private Dictionary _configData = new();
- private HashSet _unusedArtIdsCache = new();
+ ///
+ /// Elenco CodArticolo NON usati (per verifica eliminabilità)
+ ///
+ private HashSet _listCodArtNotUsed = new();
- // Cache per controllo eliminazione articoli (Smart HashSet approach)
- private HashSet _usedArtIdsCache = new();
+ ///
+ /// Elenco CodArticolo usati (per verifica eliminabilità)
+ ///
+ private HashSet _listCodArtUsed = new();
+
+ ///
+ /// Elenco CodArticolo usati in istanza KIT (per verifica eliminabilità)
+ ///
+ private HashSet _listCodArtInKit = new();
private string canCacheParametri = "";
diff --git a/MP.Stats/MP.Stats.csproj b/MP.Stats/MP.Stats.csproj
index c7bb86f3..5b01670f 100644
--- a/MP.Stats/MP.Stats.csproj
+++ b/MP.Stats/MP.Stats.csproj
@@ -4,7 +4,7 @@
net8.0
MP.Stats
826e877c-ba70-4253-84cb-d0b1cafd4440
- 8.16.2605.2813
+ 8.16.2605.2814
true
en
diff --git a/MP.Stats/Resources/ChangeLog.html b/MP.Stats/Resources/ChangeLog.html
index 685536af..da0c952c 100644
--- a/MP.Stats/Resources/ChangeLog.html
+++ b/MP.Stats/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Modulo statistiche MAPO
- Versione: 8.16.2605.2813
+ Versione: 8.16.2605.2814
Note di rilascio:
diff --git a/MP.Stats/Resources/VersNum.txt b/MP.Stats/Resources/VersNum.txt
index 44370d54..6454cfbd 100644
--- a/MP.Stats/Resources/VersNum.txt
+++ b/MP.Stats/Resources/VersNum.txt
@@ -1 +1 @@
-8.16.2605.2813
+8.16.2605.2814
diff --git a/MP.Stats/Resources/manifest.xml b/MP.Stats/Resources/manifest.xml
index c19d4a3b..a68ee3ba 100644
--- a/MP.Stats/Resources/manifest.xml
+++ b/MP.Stats/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 8.16.2605.2813
+ 8.16.2605.2814
https://nexus.steamware.net/repository/SWS/MP-STATS/stable/LAST/MP.Stats.zip
https://nexus.steamware.net/repository/SWS/MP-STATS/stable/LAST/ChangeLog.html
false