diff --git a/EgwProxy.LiMan/DataSyncro.cs b/EgwProxy.LiMan/DataSyncro.cs index 1e3e463..91bed9a 100644 --- a/EgwProxy.LiMan/DataSyncro.cs +++ b/EgwProxy.LiMan/DataSyncro.cs @@ -35,62 +35,6 @@ namespace EgwProxy.LiMan #region Public Methods - /// - /// Elenco Release applicazione - /// - /// CodApp richiesta - /// - public List ReleaseGetAll(string CodApp) - { - List answ = new List(); - using (RestClient client = new RestClient(rcOptions)) - { - string CodAppEnc = HttpUtility.UrlEncode(CodApp); - var request = new RestRequest($"Release/{CodAppEnc}", Method.Get); - var response = client.Get(request); - // controllo risposta - if (response.StatusCode == HttpStatusCode.OK) - { - // contenuto serializzato - string rawData = $"{response.Content}"; - answ = JsonConvert.DeserializeObject>(rawData); - } - } - return answ; - } - /// - /// Effettua chiamata test sul server (ping), se fallisse riprova fino a maxTry volte - /// - /// num tentativi in caso di KO - /// tempo di attesa medio tra tentativi in ms - /// - public bool CheckRemote(int maxTry = 5, int waitTime = 200) - { - bool res = false; - int numTry = 0; - IPAddress address = IPAddress.Loopback; - string srvName = servAddr; - // tolgo eventuale nome con ":" - if (servAddr.Contains(":")) - { - srvName = servAddr.Substring(0, servAddr.IndexOf(":")); - } - // tolgo eventuale nome con "/" - if (servAddr.Contains("/")) - { - srvName = servAddr.Substring(0, servAddr.IndexOf("/")); - } - while (!res && numTry < maxTry) - { - res = pingAddress(srvName, callTimeout) == IPStatus.Success; - numTry++; - if (!res) - { - Thread.Sleep(waitTime); - } - } - return res; - } /// /// Test ping x indirizzo indicato /// @@ -165,6 +109,64 @@ namespace EgwProxy.LiMan return answ; } + /// + /// Effettua chiamata test sul server (ping), se fallisse riprova fino a maxTry volte + /// + /// num tentativi in caso di KO + /// tempo di attesa medio tra tentativi in ms + /// + public bool CheckRemote(int maxTry = 5, int waitTime = 200) + { + bool res = false; + int numTry = 0; + IPAddress address = IPAddress.Loopback; + string srvName = servAddr; + // tolgo eventuale nome con ":" + if (servAddr.Contains(":")) + { + srvName = servAddr.Substring(0, servAddr.IndexOf(":")); + } + // tolgo eventuale nome con "/" + if (servAddr.Contains("/")) + { + srvName = servAddr.Substring(0, servAddr.IndexOf("/")); + } + while (!res && numTry < maxTry) + { + res = pingAddress(srvName, callTimeout) == IPStatus.Success; + numTry++; + if (!res) + { + Thread.Sleep(waitTime); + } + } + return res; + } + + /// + /// Elenco Release applicazione + /// + /// CodApp richiesta + /// + public List ReleaseGetAll(string CodApp) + { + List answ = new List(); + using (RestClient client = new RestClient(rcOptions)) + { + string CodAppEnc = HttpUtility.UrlEncode(CodApp); + var request = new RestRequest($"Release/{CodAppEnc}", Method.Get); + var response = client.Get(request); + // controllo risposta + if (response.StatusCode == HttpStatusCode.OK) + { + // contenuto serializzato + string rawData = $"{response.Content}"; + answ = JsonConvert.DeserializeObject>(rawData); + } + } + return answ; + } + /// /// Versione Async Elenco Release applicazione /// @@ -241,6 +243,59 @@ namespace EgwProxy.LiMan return await Task.FromResult(answ); } + /// + /// Elenco Release applicazione + /// + /// CodApp richiesta + /// Versione minima richiesta + /// Versione massima consentita + /// + public List ReleaseGetFiltLimit(string CodApp, string VersMin, string VersMax) + { + List answ = new List(); + using (RestClient client = new RestClient(rcOptions)) + { + string CodAppEnc = HttpUtility.UrlEncode(CodApp); + var request = new RestRequest($"Release/filtLimit/{CodAppEnc}?VersMin={VersMin}&VersMax={VersMax}", Method.Get); + var response = client.Get(request); + // controllo risposta + if (response.StatusCode == HttpStatusCode.OK) + { + // contenuto serializzato + string rawData = $"{response.Content}"; + answ = JsonConvert.DeserializeObject>(rawData); + } + } + return answ; + } + + /// + /// Versione Async Elenco Release applicazione + /// + /// CodApp richiesta + /// Versione minima richiesta + /// Versione massima consentita + /// + public async Task> ReleaseGetFiltLimitAsync(string CodApp, string VersMin, string VersMax) + { + List answ = new List(); + + using (RestClient client = new RestClient(rcOptions)) + { + string CodAppEnc = HttpUtility.UrlEncode(CodApp); + var request = new RestRequest($"Release/filtLimit/{CodAppEnc}?VersMin={VersMin}&VersMax={VersMax}", Method.Get); + var response = await client.GetAsync(request); + // controllo risposta + if (response.StatusCode == HttpStatusCode.OK) + { + // contenuto serializzato + string rawData = $"{response.Content}"; + answ = JsonConvert.DeserializeObject>(rawData); + } + } + return await Task.FromResult(answ); + } + #endregion Public Methods #region Private Fields