From adf1401a264e7cbac5150a9a8eea0762a6e20dbf Mon Sep 17 00:00:00 2001 From: klavirshik Date: Fri, 26 Jul 2024 18:59:55 +0200 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=D0=B8=20=D1=84=D0=BE=D1=80=D0=BC=D1=83=20=D0=B8=D1=81=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Reseter2/PingResult.cs | 6 ++++-- Reseter2/Pinger.cs | 2 +- Reseter2/ReseteTask.cs | 12 +++++++++++- Reseter2/Shutdown.cs | 4 +++- Reseter2/StatusReboot.cs | 9 +++++---- Reseter2/StatusRebooting.cs | 8 ++++---- Reseter2/StausPreReboot.cs | 8 +++----- 7 files changed, 31 insertions(+), 18 deletions(-) diff --git a/Reseter2/PingResult.cs b/Reseter2/PingResult.cs index 7bb6d28..925dda9 100644 --- a/Reseter2/PingResult.cs +++ b/Reseter2/PingResult.cs @@ -13,11 +13,13 @@ namespace Reseter2 public long Ping { get; set; } public int TimeoutPing { get; set; } public IPAddress Ip; - public PingResult(long ping, int timeoutPing, IPAddress ip) + public bool TimedOut; + public PingResult(long ping, int timeoutPing, IPAddress ip, bool timedOut) { Ping = ping; - TimeoutPing = timeoutPing; + TimeoutPing = timeoutPing; Ip = ip; + TimedOut = timedOut; } } } diff --git a/Reseter2/Pinger.cs b/Reseter2/Pinger.cs index 2224069..dc68b49 100644 --- a/Reseter2/Pinger.cs +++ b/Reseter2/Pinger.cs @@ -47,7 +47,7 @@ namespace Reseter2 } } if (pingable) TimeoutCount++; - return new PingResult(ping, TimeoutCount, Ip); + return new PingResult(ping, TimeoutCount, Ip, pingable); } } diff --git a/Reseter2/ReseteTask.cs b/Reseter2/ReseteTask.cs index 929d6e7..e51f13d 100644 --- a/Reseter2/ReseteTask.cs +++ b/Reseter2/ReseteTask.cs @@ -34,7 +34,17 @@ namespace Reseter2 if (task.IsCompleted){ //this.DataContrl(Ping().ToString(), Timeout().ToString()); pingResult = await task; - taskControl.DataContrl(pingResult.Ping.ToString() + "ms", pingResult.TimeoutPing.ToString(), pingResult.Ip, sw.Elapsed); + + string p; + if (pingResult.TimedOut) + { + p = "----"; + } + else + { + p = pingResult.Ping.ToString() + "ms"; + } + taskControl.DataContrl(p, pingResult.TimeoutPing.ToString(), pingResult.Ip, sw.Elapsed); StatusTask.Next(); task = Task.Run(StatusTask.Tick); } diff --git a/Reseter2/Shutdown.cs b/Reseter2/Shutdown.cs index 6825120..cb61d79 100644 --- a/Reseter2/Shutdown.cs +++ b/Reseter2/Shutdown.cs @@ -4,6 +4,7 @@ using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; +using System.Windows.Forms; namespace Reseter2 { @@ -17,7 +18,8 @@ namespace Reseter2 { if (param.Length > 0) { - StartShutDown("-r -m \\\\" + param + "-f -t 5"); + MessageBox.Show(@"-r -m \\" + param + " -f -t 5"); + StartShutDown(@"-r -m \\" + param + " -f -t 5"); } } diff --git a/Reseter2/StatusReboot.cs b/Reseter2/StatusReboot.cs index e64b0e4..05486a0 100644 --- a/Reseter2/StatusReboot.cs +++ b/Reseter2/StatusReboot.cs @@ -10,11 +10,12 @@ namespace Reseter2 internal class StatusReboot : AStatusTask { private int TimeCount; - private PingResult PingResult = new PingResult(0, 0, null); + + private PingResult PingResult = new PingResult(0, 0, null, false); public StatusReboot(ReseterTask reseterTask) : base(reseterTask) { resetertask.SetNameStage("Отправляем команду перезагрузки"); - //Shutdown.RestartPC(reseterTask.Comp.GetName()); + Shutdown.RestartPC(reseterTask.Comp.GetResetName()); } public override Task Tick() @@ -24,11 +25,11 @@ namespace Reseter2 } public override void Next() { - if (PingResult.Ping == 0) + if (PingResult.TimedOut == true) { TimeCount++; } - if (TimeCount > 2) + if (TimeCount > 3) { resetertask.StatusTask = new StatusRebooting(resetertask); } diff --git a/Reseter2/StatusRebooting.cs b/Reseter2/StatusRebooting.cs index 24fe697..b8cd21a 100644 --- a/Reseter2/StatusRebooting.cs +++ b/Reseter2/StatusRebooting.cs @@ -9,7 +9,7 @@ namespace Reseter2 internal class StatusRebooting : AStatusTask { private int TimeCount; - private PingResult PingResult = new PingResult(0, 0, null); + private PingResult PingResult = new PingResult(0, 0, null, false); public StatusRebooting(ReseterTask reseterTask) : base(reseterTask) { resetertask.SetNameStage("Перезагрузка"); @@ -23,13 +23,13 @@ namespace Reseter2 } public override void Next() { - if (PingResult.Ping > 0) + if (PingResult.TimedOut == false) { TimeCount++; } - if (TimeCount > 10) + if (TimeCount > 50) { - resetertask.StatusTask = new StatusPreReboot(resetertask); + resetertask.StatusTask = new StatusRebootSucces(resetertask); } } } diff --git a/Reseter2/StausPreReboot.cs b/Reseter2/StausPreReboot.cs index 9c3c40d..ade44a1 100644 --- a/Reseter2/StausPreReboot.cs +++ b/Reseter2/StausPreReboot.cs @@ -9,7 +9,7 @@ namespace Reseter2 internal class StatusPreReboot : AStatusTask { private int time; - private PingResult PingResult = new PingResult(0,0,null); + private PingResult PingResult = new PingResult(0,0,null, false); public StatusPreReboot(ReseterTask reseterTask) : base(reseterTask) { resetertask.SetNameStage("Проверка связи"); @@ -26,13 +26,11 @@ namespace Reseter2 } public override void Next() { - if (PingResult.Ping != null) - { - if (PingResult.Ping > 0) + if (!PingResult.TimedOut) { resetertask.StatusTask = new StatusReboot(resetertask); } - } + }