diff --git a/GPW_Admin/WebUserControls/mod_adminClienti.ascx.cs b/GPW_Admin/WebUserControls/mod_adminClienti.ascx.cs
index a06da8d..c6052cd 100644
--- a/GPW_Admin/WebUserControls/mod_adminClienti.ascx.cs
+++ b/GPW_Admin/WebUserControls/mod_adminClienti.ascx.cs
@@ -230,15 +230,34 @@ namespace GPW_Admin.WebUserControls
// solo se ha diritti scrittura controllo
if (idxObj != null)
{
- int trovati = 0;
int idxCli = 0;
- _ = int.TryParse(idxObj.ToString(), out idxCli);
- trovati = DataProxy.DP.taAP.getByIdxCli(idxCli, true, true).Rows.Count;
- // controllo se ci sono record correlati...
- if (trovati > 0)
- {
- answ = false;
- }
+ _ = int.TryParse($"{idxObj}", out idxCli);
+ answ = !hasChildObj(idxCli);
+ }
+ return answ;
+ }
+
+
+ ///
+ /// Determina se abbia child obj --> NON eliminabile
+ ///
+ ///
+ ///
+ public bool hasChildObj(int idxCli)
+ {
+ bool answ = false;
+ string redKey = memLayer.ML.redHash($"clienteHasChildObj:{idxCli}");
+ // cerco inc ache redis...
+ string rawData = memLayer.ML.getRSV(redKey);
+ if (rawData == null)
+ {
+ int trovati = DataProxy.DP.taAP.getByIdxCli(idxCli, true, false).Rows.Count;
+ answ = (trovati > 0);
+ memLayer.ML.setRSV(redKey, $"{answ}", 60 * 5);
+ }
+ else
+ {
+ bool.TryParse(rawData, out answ);
}
return answ;
}
diff --git a/GPW_Admin/WebUserControls/mod_adminFasi.ascx.cs b/GPW_Admin/WebUserControls/mod_adminFasi.ascx.cs
index 2f3610c..f242622 100644
--- a/GPW_Admin/WebUserControls/mod_adminFasi.ascx.cs
+++ b/GPW_Admin/WebUserControls/mod_adminFasi.ascx.cs
@@ -557,18 +557,25 @@ namespace GPW_Admin.WebUserControls
public bool hasChildObj(int idxFase)
{
bool answ = false;
- string redKey = memLayer.ML.redHash($"faseHasChildObj:{idxFase}");
- // cerco inc ache redis...
- string rawData = memLayer.ML.getRSV(redKey);
- if (rawData == null)
+ if (idxFase > 0)
{
- int trovati = DataProxy.DP.taRA.getByFase(this.idxFase).Count;
- answ = (trovati > 0);
- memLayer.ML.setRSV(redKey, $"{answ}", 60 * 5);
+ string redKey = memLayer.ML.redHash($"faseHasChildObj:{idxFase}");
+ // cerco inc ache redis...
+ string rawData = memLayer.ML.getRSV(redKey);
+ if (rawData == null)
+ {
+ int trovati = DataProxy.DP.taRA.getByFase(this.idxFase).Count;
+ answ = (trovati > 0);
+ memLayer.ML.setRSV(redKey, $"{answ}", 60 * 5);
+ }
+ else
+ {
+ bool.TryParse(rawData, out answ);
+ }
}
else
{
- bool.TryParse(rawData, out answ);
+ answ = true;
}
return answ;
}