private void executerError_Click(object sender, RoutedEventArgs e) { _logWriter.LogWrite($"exécution Batch : {cheminBatchError}"); string output = UptimeHelper.processBatch(cheminBatchError, "", _logWriter, ref exitCode); _logWriter.LogWrite($"exit code Batch : {exitCode}"); if (exitCode == -1) { if (!isFeatureLockScreen) { } else { _logWriter.LogWrite($"Vérouillage système"); LockWorkStation(); } } }
private void executerProcess() { try { int exitCode = 0; // commande restart .bat string output = UptimeHelper.processBatch(cheminBatchRestart, ServerIpAddress, _logWriter, ref exitCode); // 10 minutes d'attentes appconfig Thread.Sleep(1000 * AppSettings.ReadSetting <int>(AppSettingConstants.ServerResponseTimeout, 10)); if (PingHelper.CheckAddress(ServerIpAddress).Status == System.Net.NetworkInformation.IPStatus.Success) { ServerEventsApi.ServerEventsPostServerEvent(new IO.Swagger.Model.ServerEvent() { Date = DateTime.Now, Event = IO.Swagger.Model.ServerEvent.EventEnum.NUMBER_5, RestaurantId = RestaurantId, Detail = "Le serveur a repondu" }); this.Dispatcher.Invoke(DispatcherPriority.Background, new Action(() => this.windowText.Text = "Le serveur distant a bien redemarré")); //Thread.Sleep(1000 * AppSettings.ReadSetting<int>(AppSettingsConstant.XmlRpcResponseTimeout, 5) * 60); //Call XmlRpc //TODO #if DEBUG //Désactiver le vérouillage après 5 secondes pour pouvoir quitter (à être remplacé par un autre logique après) Delay(5000).ContinueWith(_ => quitterFenetre()); #endif } else { ServerEventsApi.ServerEventsPostServerEvent(new IO.Swagger.Model.ServerEvent() { Date = DateTime.Now, Event = IO.Swagger.Model.ServerEvent.EventEnum.NUMBER_6, RestaurantId = RestaurantId, Detail = "Le serveur n'a pas repondu" }); this.Dispatcher.Invoke(DispatcherPriority.Background, new Action(() => { this.windowText.Text += "\n" + "Contactez votre mainteneur!"; this.exitButton.Visibility = Visibility.Visible; })); } } catch (Exception ex) { _logWriter.LogWrite($" ClassName : bloquerWindow "); _logWriter.LogWrite($" Exception : {ex.Message}"); _logWriter.LogWrite($" Exception : {ex.StackTrace}"); throw; } // if OK call xmlRPc attendre 5 minutes is ok update ecran + update api + deblocage ecran }