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; }