From 572da06d958fe364822b1d5ac091c8e33a7608e5 Mon Sep 17 00:00:00 2001 From: Schwirg László Date: Mon, 20 Sep 2021 17:49:14 +0200 Subject: [PATCH] v1.8.2 - pinger javítgatása --- Vrh.Log4Pro.MaintenanceConsole/Manager - MaintenanceToolManager.cs | 52 +++++++++++++++++++++++++++++++++++----------------- Vrh.Log4Pro.MaintenanceConsole/Properties/AssemblyInfo.cs | 4 ++-- 2 files changed, 37 insertions(+), 19 deletions(-) diff --git a/Vrh.Log4Pro.MaintenanceConsole/Manager - MaintenanceToolManager.cs b/Vrh.Log4Pro.MaintenanceConsole/Manager - MaintenanceToolManager.cs index fe93cd5..10491f7 100644 --- a/Vrh.Log4Pro.MaintenanceConsole/Manager - MaintenanceToolManager.cs +++ b/Vrh.Log4Pro.MaintenanceConsole/Manager - MaintenanceToolManager.cs @@ -114,9 +114,15 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS while (true) { DisplayPingerParameters(pingerconfigxml); - DisplayAllPingerStatus(pingerconfigxml,iplist, suppresserroneousipaddresses); + var cc = ColorConsole.CursorLeft; + var cr = ColorConsole.CursorTop; suppresserroneousipaddresses = true; - if (!firstrun) { DisplayPingerCommands(); } + DisplayAllPingerStatus(pingerconfigxml, iplist, firstrun, suppresserroneousipaddresses); + if (!firstrun) + { + + DisplayPingerCommands(); + } var command = firstrun ? "STARTANDSHOW *" : ColorConsole.ReadLine(); if (command == "EX") { break; } @@ -136,10 +142,10 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS } if (cmd.ToLower() == "start") { StartPingers(selectedpingers, pingerconfigxml); } - if (cmd.ToLower() == "startandshow") { StartPingers(selectedpingers, pingerconfigxml); DisplayPingerHistory(selectedpingers); } + if (cmd.ToLower() == "startandshow") { StartPingers(selectedpingers, pingerconfigxml); DisplayPingerHistory(selectedpingers, cr, cc); } else if (cmd.ToLower() == "stop") { StopPingers(selectedpingers); } else if (cmd.ToLower() == "drop") { DisposePingers(selectedpingers); } - else if (cmd.ToLower() == "show") { DisplayPingerHistory(selectedpingers); } + else if (cmd.ToLower() == "show") { DisplayPingerHistory(selectedpingers, cr, cc); } else { ColorConsole.WriteLine($"Incorrect answer!", ConsoleColor.Red); continue; } firstrun = false; } @@ -189,8 +195,14 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS ColorConsole.WriteLine(rttlstring.Substring(0, rttlstring.Length>20?20: rttlstring.Length) + (rttlstring.Length > 20 ? "..." : ""), ConsoleColor.Yellow, prefix: " roundtrip time limit values :", suffix: "ms"); ColorConsole.WriteLine((string.Join(",", pconfig.RoundTripTimeyCategoryLimits)).ToString(), ConsoleColor.Yellow, prefix: " roundtrip time category limit values:", suffix: "ms"); } - private static void DisplayPingerHistory(List selectedpingers) + private static void DisplayPingerHistory(List selectedpingers,int firstrow,int cc) { + if (selectedpingers == null || !selectedpingers.Any()) { return; } + var lastrow = ColorConsole.CursorTop; + ColorConsole.SetCursorPosition(cc,firstrow); + for (var i= 0; i< lastrow - firstrow;i++) { ColorConsole.WriteLine(new string(' ',100)); } + ColorConsole.SetCursorPosition(cc, firstrow); + ColorConsole.WriteLine(); ColorConsole.WriteLine($"Pinger History:", ConsoleColor.Yellow); var cursorleftposition = ColorConsole.CursorLeft; @@ -252,37 +264,43 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS : pingcycle.PackagesSentCategory == Pinger.PingCycle.LostPackageCategory.Bad ? ConsoleColor.Yellow : ConsoleColor.Red; } - private static void DisplayAllPingerStatus(XElement pingerconfigxml,List iplist, bool suppresserroneousipaddresses=false) + private static void DisplayAllPingerStatus(XElement pingerconfigxml, List iplist, bool suppressconsolemessages = false, bool suppresserroneousipaddresses=false) { - ColorConsole.WriteLine(); - ColorConsole.WriteLine($"Pinger status for the following addresses:", ConsoleColor.Yellow); - foreach (var ip in iplist) { DisplayOnePingerStatus(ip, pingerconfigxml, suppresserroneousipaddresses); } + if (!suppressconsolemessages) + { + ColorConsole.WriteLine(); + ColorConsole.WriteLine($"Pinger status for the following addresses:", ConsoleColor.Yellow); + } + foreach (var ip in iplist) { DisplayOnePingerStatus(ip, pingerconfigxml, suppressconsolemessages ,suppresserroneousipaddresses); } } - private static void DisplayOnePingerStatus(MaintenanceToolsXmlProcessor.IPAddressParsingResult ip, XElement pingerconfigxml,bool suppresserroneousipaddresses = false) + private static void DisplayOnePingerStatus(MaintenanceToolsXmlProcessor.IPAddressParsingResult ip, XElement pingerconfigxml, bool suppressconsolemessages = false,bool suppresserroneousipaddresses = false) { if (ip.GoodIP) { - ColorConsole.Write($"{ip.IP}", ConsoleColor.Green,prefix:" "); + if (!suppressconsolemessages) { ColorConsole.Write($"{ip.IP}", ConsoleColor.Green, prefix: " "); } var pingerlist = PingerList.Select(x => x.HostNameOrAddress).ToList(); Pinger pinger; if (pingerlist.Contains(ip.IP.ToString())) { pinger = PingerList.FirstOrDefault(x => x.HostNameOrAddress == ip.IP.ToString()); - ColorConsole.Write($" Pinger exist.", ConsoleColor.Green); + if (!suppressconsolemessages) { ColorConsole.Write($" Pinger exist.", ConsoleColor.Green); } } else { pinger = new Pinger(ip.IP.ToString(), pingerconfigxml); PingerList.Add(pinger); - ColorConsole.Write($" Pinger created.", ConsoleColor.Green); + if (!suppressconsolemessages) { ColorConsole.Write($" Pinger created.", ConsoleColor.Green); } } - if (pinger.Operating) { ColorConsole.Write($" Pinger running.", ConsoleColor.Green); } - else { ColorConsole.Write($" Pinger still.", ConsoleColor.Green); } - ColorConsole.WriteLine(); + if (!suppressconsolemessages) + { + if (pinger.Operating) { ColorConsole.Write($" Pinger running.", ConsoleColor.Green); } + else { ColorConsole.Write($" Pinger still.", ConsoleColor.Green); } + ColorConsole.WriteLine(); + } } - else { if (!suppresserroneousipaddresses) { ColorConsole.WriteLine(ip.ErrorMessage, ConsoleColor.Red); } } + else { if (!suppresserroneousipaddresses && !suppressconsolemessages) { ColorConsole.WriteLine(ip.ErrorMessage, ConsoleColor.Red); } } } #endregion TcpIpTester diff --git a/Vrh.Log4Pro.MaintenanceConsole/Properties/AssemblyInfo.cs b/Vrh.Log4Pro.MaintenanceConsole/Properties/AssemblyInfo.cs index 129a57d..bd747b3 100644 --- a/Vrh.Log4Pro.MaintenanceConsole/Properties/AssemblyInfo.cs +++ b/Vrh.Log4Pro.MaintenanceConsole/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.8.1.0")] -[assembly: AssemblyFileVersion("1.8.1.0")] +[assembly: AssemblyVersion("1.8.2.0")] +[assembly: AssemblyFileVersion("1.8.2.0")] -- libgit2 0.21.2