From caa656bb32ad401fa6aa34b6ef86058ffdd90fc6 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Sat, 6 Nov 2021 19:15:21 +0100 Subject: [PATCH] Ancora update riassegnazione icenze --- .../WebUserControls/cmp_userLicense.ascx.cs | 14 +++++++-- GPW_Data/licenzeGPW.cs | 31 +++++++++++++++++++ 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/GPW_Admin/WebUserControls/cmp_userLicense.ascx.cs b/GPW_Admin/WebUserControls/cmp_userLicense.ascx.cs index 79ccd2f..bc62a94 100644 --- a/GPW_Admin/WebUserControls/cmp_userLicense.ascx.cs +++ b/GPW_Admin/WebUserControls/cmp_userLicense.ascx.cs @@ -103,7 +103,14 @@ namespace GPW_Admin.WebUserControls // solo se giĆ  attivo if (isAttivo) { - answ = !canRemove(attivo, dtAssunzione, dtCessazione); + // refresh licenze + licenzeGPW.RefreshActInfo().ConfigureAwait(false); + // verifico se ci sia licenza locale.. + if (!licenzeGPW.checkActivation(CodImpiego).Result) + { + // verifica sia sbloccabile la licenza (online) + answ = !licenzeGPW.checkActivationUnlocked(CodImpiego).Result; + } } return answ; @@ -131,7 +138,7 @@ namespace GPW_Admin.WebUserControls if (tabDip != null && tabDip.Rows.Count == 1) { // verifica sia sbloccabile la licenza (online) - answ = licenzeGPW.checkActivation(CodImpiego).Result; + answ = licenzeGPW.checkActivationUnlocked(CodImpiego).Result; } } } @@ -169,6 +176,9 @@ namespace GPW_Admin.WebUserControls bool fatto = licenzeGPW.tryActivation(CodImpiego).Result; if (fatto) { + bool step1 = licenzeGPW.RefreshAppInfo().Result; + bool step2 = licenzeGPW.RefreshActInfo().Result; + bool step3 = licenzeGPW.RefreshLicInfo().Result; raiseReset(); } } diff --git a/GPW_Data/licenzeGPW.cs b/GPW_Data/licenzeGPW.cs index eb20765..6c083ac 100644 --- a/GPW_Data/licenzeGPW.cs +++ b/GPW_Data/licenzeGPW.cs @@ -330,6 +330,37 @@ namespace GPW_data /// /// public static async Task checkActivation(string CodImpiego) + { + bool answ = false; + // cerco online + RestClient client = new RestClient(apiUrl); + //client.Authenticator = new HttpBasicAuthenticator("username", "password"); + string MKeyEnc = HttpUtility.UrlEncode(MasterKey); + var request = new RestRequest($"/api/attivazioni/verifica?chiave={MKeyEnc}&CodImpiego={CodImpiego}", DataFormat.Json); + var response = client.Get(request); + // controllo risposta + if (response.StatusCode == System.Net.HttpStatusCode.OK) + { + // verifico risposta + string rawData = response.Content; + try + { + // deserializzo + AttivazioneDTO datiAttivazione = JsonConvert.DeserializeObject(rawData); + answ = datiAttivazione != null && datiAttivazione.CodImpiego == CodImpiego; + } + catch + { } + } + return await Task.FromResult(answ); + } + + /// + /// Verifica attivazione licenza dato codice impiego + /// + /// + /// + public static async Task checkActivationUnlocked(string CodImpiego) { bool answ = false; // cerco online