diff --git a/AppData/ComLib.cs b/AppData/ComLib.cs
index fd369bd..957ba45 100644
--- a/AppData/ComLib.cs
+++ b/AppData/ComLib.cs
@@ -30,6 +30,11 @@ namespace AppData
protected static string redNestAnsw = "NKC:NEST:BANSW";
+ protected static string redProdReq = "NKC:SERV:BUNKS";
+ protected static string redProdAnsw = "NKC:PROD:BUNKS";
+
+
+
#endregion
#region definizione classi impiegate con PROD
@@ -782,6 +787,44 @@ namespace AppData
{
return null;
}
+ ///
+ /// Chiave primo bunk su redis
+ ///
+ protected static string redFirstBunkKey = $"{redProdReq}:FirstBunk";
+ private static WBunk redisFirstBunk
+ {
+ get
+ {
+ WBunk answ = null;
+ string rawData = memLayer.ML.getRSV(redFirstBunkKey);
+ if (rawData != "")
+ {
+ // provo a deserializzare
+ try
+ {
+ answ = JsonConvert.DeserializeObject(rawData);
+ }
+ catch
+ { }
+ }
+ return answ;
+ }
+ set
+ {
+ if (value != null)
+ {
+ string redVal = JsonConvert.SerializeObject(value);
+ // default lascio x 5 minuti...
+ memLayer.ML.setRSV(redFirstBunkKey, redVal, 300);
+ }
+ else
+ // se null elimino da redis
+ {
+ memLayer.ML.setRSV(redFirstBunkKey, "");
+ }
+ }
+ }
+
///
/// Restituisce il PRIMO bunk secondo criterio:
/// - posizione = 5 (ho letto da webApp il BUNK e preso in carico)
@@ -791,17 +834,26 @@ namespace AppData
///
public static WBunk prodGetFirstBunk()
{
- WBunk answ = null;
- // vado sul DB e leggo ...
- DS_App.StackListDataTable tabBunks = DataLayer.man.taSTL.getLoaded();
- // controllo di averne almeno 1...
- if (tabBunks.Count > 0)
+ // cerco prima su REDIS...
+ WBunk answ = redisFirstBunk;
+ if (answ == null)
{
- DS_App.StackListRow currBunk = tabBunks[0];
- answ = getBunkFromDb(currBunk);
+ // vado sul DB e leggo ...
+ DS_App.StackListDataTable tabBunks = DataLayer.man.taSTL.getLoaded();
+ // controllo di averne almeno 1...
+ if (tabBunks.Count > 0)
+ {
+ DS_App.StackListRow currBunk = tabBunks[0];
+ answ = getBunkFromDb(currBunk);
+ // se ho qualcosa salvo su REDIS
+ redisFirstBunk = answ;
+ }
}
return answ;
}
+
+
+
///
/// Restituisce il PROSSIMO bunk secondo criterio:
/// - posizione = 5 (ho letto da webApp il BUNK e preso in carico)