// See https://aka.ms/new-console-template for more information using System.Diagnostics; using System.Dynamic; using Newtonsoft.Json; internal class Program { private static void Main(string[] args) { Console.WriteLine(sep); Console.WriteLine("Rest Client test application"); Console.WriteLine(sep); Console.WriteLine(); Console.WriteLine("Call connection"); // setup oggetti int tOut = 60; string apiUrl = "http://192.168.80.61:8733/DRIVER_MES/rest/"; rCall = new RestCaller(apiUrl, tOut); // chiamate! CallAndLog("checkconnection"); string token = CallAndLog("gettoken/mecmaticames/mecmatica@mes").Replace("\"", ""); string gLamp = CallAndLog($"getsingleladderio/{token}/Y/8E"); string yLamp = CallAndLog($"getsingleladderio/{token}/Y/21"); string rLamp = CallAndLog($"getsingleladderio/{token}/Y/22"); string qtyTot = CallAndLog($"gettotalquantity/{token}"); string qtyReq = CallAndLog($"getneededquantity/{token}"); string qtyWrk = CallAndLog($"getworkedquantity/{token}"); string cTime = CallAndLog($"getcycletime/{token}"); string pName = CallAndLog($"getmainprogram/{token}"); string cAlarm = CallAndLog($"getalarm/{token}"); var sAlarm = JsonConvert.DeserializeObject(cAlarm); cAlarm = JsonConvert.SerializeObject(sAlarm, Formatting.Indented); string allAlarm = CallAndLog($"getallalarmlog/{token}"); var alarmList = JsonConvert.DeserializeObject>(allAlarm); allAlarm = JsonConvert.SerializeObject(alarmList, Formatting.Indented); string err = CallAndLog($"getsingleladderio/ABC/Y/22"); // ora scrivo i files dei test x debug successivo var appPath = System.Reflection.Assembly.GetExecutingAssembly().Location; var fPath = Directory.GetParent(appPath).FullName; string basePath = Path.Combine(fPath, "Test"); if (!Directory.Exists(basePath)) { Directory.CreateDirectory(basePath); } File.WriteAllText(Path.Combine(basePath, "token.txt"), token); File.WriteAllText(Path.Combine(basePath, "gLamp.txt"), gLamp); File.WriteAllText(Path.Combine(basePath, "yLamp.txt"), yLamp); File.WriteAllText(Path.Combine(basePath, "rLamp.txt"), rLamp); File.WriteAllText(Path.Combine(basePath, "qtyTot.txt"), qtyTot); File.WriteAllText(Path.Combine(basePath, "qtyReq.txt"), qtyReq); File.WriteAllText(Path.Combine(basePath, "qtyWrk.txt"), qtyWrk); File.WriteAllText(Path.Combine(basePath, "cTime.txt"), cTime); File.WriteAllText(Path.Combine(basePath, "pName.txt"), pName); File.WriteAllText(Path.Combine(basePath, "cAlarm.txt"), cAlarm); File.WriteAllText(Path.Combine(basePath, "allAlarm.txt"), allAlarm); } private static RestCaller rCall { get; set; } = new RestCaller("http://localhost", 60); private static string sep = "------------------------"; private static Stopwatch sw = new Stopwatch(); private static string CallAndLog(string fullUri) { sw.Restart(); Console.WriteLine(sep); Console.WriteLine($"Calling: {fullUri}"); // chiamo string answ = rCall.ExecuteCallGet(fullUri); sw.Stop(); // loggo Console.WriteLine(answ); Console.WriteLine($"Elapsed: {sw.ElapsedMilliseconds}"); Console.WriteLine(sep); Console.WriteLine(); return answ; } } internal class AlarmInfo { public int id { get; set; } = 0; public string? ErrorMessage { get; set; } = null; public DateTime date { get; set; } = DateTime.Today.AddYears(-10); public string message { get; set; } = ""; public string type { get; set; } = ""; } internal class WarnInfo { public bool IsAlarm { get; set; } = false; public bool IsCaution { get; set; } = false; public string? ErrorMessage { get; set; } = null; public string message { get; set; } = ""; }