From 2b629e9e843f1977f0b745cf76e9fb99e5ee4649 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 14 Feb 2022 18:58:01 +0100 Subject: [PATCH] Fix condizioni editing ed attivazione dipendenti appena inseriti/modificati --- .../WebUserControls/mod_adminDipendenti.ascx | 3 +- .../mod_adminDipendenti.ascx.cs | 41 +++++++++++-------- GPW_Data/licenzeGPW.cs | 5 +++ 3 files changed, 32 insertions(+), 17 deletions(-) diff --git a/GPW_Admin/WebUserControls/mod_adminDipendenti.ascx b/GPW_Admin/WebUserControls/mod_adminDipendenti.ascx index 07ec04bc..b393a5c 100644 --- a/GPW_Admin/WebUserControls/mod_adminDipendenti.ascx +++ b/GPW_Admin/WebUserControls/mod_adminDipendenti.ascx @@ -47,7 +47,7 @@ - + @@ -248,6 +248,7 @@
+ !!!
diff --git a/GPW_Admin/WebUserControls/mod_adminDipendenti.ascx.cs b/GPW_Admin/WebUserControls/mod_adminDipendenti.ascx.cs index f3e9c2f..29ce6f2 100644 --- a/GPW_Admin/WebUserControls/mod_adminDipendenti.ascx.cs +++ b/GPW_Admin/WebUserControls/mod_adminDipendenti.ascx.cs @@ -193,7 +193,10 @@ namespace GPW_Admin.WebUserControls protected void grView_RowEditing(object sender, GridViewEditEventArgs e) { - resetSelezione(); + if (grView.SelectedIndex >= 0) + { + resetSelezione(); + } } protected void grView_SelectedIndexChanged(object sender, EventArgs e) @@ -332,8 +335,6 @@ namespace GPW_Admin.WebUserControls } else { - // disattivo la licenza corrente... - var localUserList = licenzeGPW.getDipAttivi(); // cerco! if (e.InputParameters["Original_idxDipendente"] != null) { @@ -342,36 +343,44 @@ namespace GPW_Admin.WebUserControls int.TryParse(origIdxDip, out idxDip); if (idxDip > 0) { + // disattivo la licenza corrente... + var localUserList = licenzeGPW.getDipAttivi(); var currUser = localUserList.Where(x => x.idxDipendente == idxDip).FirstOrDefault(); // verifico SE sia disponibile licenza... var activationsList = licenzeGPW.ListaAttivazioni; var currHash = DataProxy.DP.hashCodImpiego(currUser); var currAct = activationsList.Where(x => x.CodImpiego == currHash).FirstOrDefault(); - + bool fatto = true; if (currAct != null) { // riesegue controllo ed disattiva Dictionary ParamList = new Dictionary(); ParamList.Add(currAct.CodImpiego, currAct.Chiave); - bool fatto = licenzeGPW.tryDeactivation(ParamList).Result; - if (fatto) - { - DataProxy.DP.taDipendenti.updateActive(false, idxDip); - } - } - else - { - // annullo update se attivazione NON trovata... - e.Cancel = true; - grView.EditIndex = -1; - grView.DataBind(); + fatto = licenzeGPW.tryDeactivation(ParamList).Result; } + // indico disattivato... + e.InputParameters["attivo"] = "false"; + licenzeGPW.resetDipAttivi(); } } } } } + /// + /// Verifica data assunzione valida = ultimi 60 anni... + /// + /// + /// + public bool checkDataAssunzione(object dtAss) + { + bool answ = false; + DateTime oggi = DateTime.Today; + DateTime dataAss = oggi.AddYears(-100); + DateTime.TryParse($"{dtAss}", out dataAss); + answ = (oggi.Subtract(dataAss).TotalDays < 365 * 60); + return answ; + } /// /// caricamento diff --git a/GPW_Data/licenzeGPW.cs b/GPW_Data/licenzeGPW.cs index 6cd0080..b8caed9 100644 --- a/GPW_Data/licenzeGPW.cs +++ b/GPW_Data/licenzeGPW.cs @@ -690,6 +690,11 @@ namespace GPW_data return answ; } + public static void resetDipAttivi() + { + memLayer.ML.setRSV(rkeyDipAct, "", 1); + } + /// /// Effettua refresh ActivationInfo con chiamata remota (sovrascrivendo info locali Redis) ///