private void ReadDeviceConfiguration(bool forceRead=false) { if (DevicesList.SelectedItem != null) { if (AskUserToSaveDeviceConfiguration()) { if (forceRead) _workerCompletedAction += ForcedReadConfig; else _workerCompletedAction += ReadConfig; SaveDeviceConfiguration(); } else { if (forceRead) ForcedReadConfig(); else ReadConfig(); } } }
private void RestartCompleted(object sender, RunWorkerCompletedEventArgs e) { WorkerInProgress = false; CmdFindDevices.IsEnabled = true; CmdCancelSearchDevices.IsEnabled = false; CmdAddDeviceToList.IsEnabled = true; DevicesList.IsEnabled = true; ProcessingProgress.Value = 0; mainWindowBackgroundWorker.DoWork -= Restart; mainWindowBackgroundWorker.RunWorkerCompleted -= RestartCompleted; mainWindowBackgroundWorker.ProgressChanged -= RestartProgressChanged; if (e.Result is ReaderSaverErrors) { if ((ReaderSaverErrors)e.Result == ReaderSaverErrors.CodeOk) { СurrentlyProcessed.Text = "Команда перезагрузки устройства отправлена успешно"; } else { СurrentlyProcessed.Text = "Ошибка при отправке команды перезагрузки устройства: " + ((ReaderSaverErrors)e.Result).GetDescription(); } } if (_workerCompletedAction != null) { _workerCompletedAction(); _workerCompletedAction = null; } }
private void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e) { if (_supressMBox) return; if (MessageBoxResult.No == MessageBox.Show("Выйти из программы?", Constants.messageBoxTitle, MessageBoxButton.YesNo, MessageBoxImage.Question)) e.Cancel = true; else { if (WorkerInProgress) { mainWindowBackgroundWorker.CancelAsync(); e.Cancel = true; _workerCompletedAction += Disconnect; _workerCompletedAction += CloseWindow; } else { if (AskUserToSaveDeviceConfiguration()) { _workerCompletedAction += Disconnect; _workerCompletedAction += CloseWindow; SaveDeviceConfiguration(); } else Disconnect(); } } }
private void ReadConfigurationCompleted(object sender, RunWorkerCompletedEventArgs e) { WorkerInProgress = false; CmdFindDevices.IsEnabled = true; CmdCancelSearchDevices.IsEnabled = false; CmdAddDeviceToList.IsEnabled = true; DevicesList.IsEnabled = true; ProcessingProgress.Value = 0; mainWindowBackgroundWorker.DoWork -= ReadConfiguration; mainWindowBackgroundWorker.RunWorkerCompleted -= ReadConfigurationCompleted; mainWindowBackgroundWorker.ProgressChanged -= ReadConfigurationProgressChanged; if (((Device) DevicesList.SelectedItem).ConfigurationReadFromDevice) { СurrentlyProcessed.Text = "Чтение конфигурации завершено успешно"; SelectedDevice = (Device) DevicesList.SelectedItem; UartPots.SelectedIndex = 0; DrawConfigurationTabs(); } else { СurrentlyProcessed.Text = "Чтение конфигурации завершено c ошибкой: " + ((ReaderSaverErrors)e.Result).GetDescription(); if (SelectedDevice == null) //no item was previously selected DevicesList.UnselectAll(); else { DevicesList.SelectedItem = SelectedDevice;//returning to previously selected item UartPots.SelectedIndex = 0; } } if (_workerCompletedAction != null) { _workerCompletedAction(); _workerCompletedAction = null; } }
private void CmdFindDevices_OnClick(object sender, RoutedEventArgs e) { DevicesFinderConfigWindow finderConfigWindow = new DevicesFinderConfigWindow(_deviceFinder); finderConfigWindow.Owner = this; if (finderConfigWindow.ShowDialog() == true) { if (AskUserToSaveDeviceConfiguration()) { _workerCompletedAction += FindDevices; SaveDeviceConfiguration(); } else { FindDevices(); } } }
private void CmdRestart_OnClick(object sender, RoutedEventArgs e) { if (SelectedDevice != null) { if (AskUserToSaveDeviceConfiguration()) { _workerCompletedAction += RestartDevice; SaveDeviceConfiguration(); } RestartDevice(); } }
private void CmdDisconnect_OnClick(object sender, RoutedEventArgs e) { if (IsUserCancelSearch()) { _workerCompletedAction += Disconnect; } else { if (!WorkerInProgress) { if (AskUserToSaveDeviceConfiguration()) { _workerCompletedAction += Disconnect; SaveDeviceConfiguration(); } else Disconnect(); } } }
private void CmdDelDeviceFromList_OnClick(object sender, RoutedEventArgs e) { if (DevicesList.SelectedItem is Device) { if (AskUserToSaveDeviceConfiguration()) { _workerCompletedAction += DelDeviceFromList; SaveDeviceConfiguration(); } else { DelDeviceFromList(); } } }
private void CmdDelAllDevicesFromList_Click(object sender, RoutedEventArgs e) { if (AskUserToSaveDeviceConfiguration()) { _workerCompletedAction += ClearDevicesList; SaveDeviceConfiguration(); } else { ClearDevicesList(); } }
private void SearchCompleted(object sender, RunWorkerCompletedEventArgs e) { WorkerInProgress = false; CmdFindDevices.IsEnabled = true; CmdCancelSearchDevices.IsEnabled = false; CmdAddDeviceToList.IsEnabled = true; ProcessingProgress.Value = 0; СurrentlyProcessed.Text = String.Format("Поиск устройств окончен. (найдено {0})", _foundDevicesCount); mainWindowBackgroundWorker.DoWork -= SearchDevices; mainWindowBackgroundWorker.RunWorkerCompleted -= SearchCompleted; mainWindowBackgroundWorker.ProgressChanged -= SearchProgressChanged; if (_workerCompletedAction != null) { _workerCompletedAction(); _workerCompletedAction = null; } }
private void SaveConfigurationCompleted(object sender, RunWorkerCompletedEventArgs e) { WorkerInProgress = false; CmdFindDevices.IsEnabled = true; CmdCancelSearchDevices.IsEnabled = false; CmdAddDeviceToList.IsEnabled = true; DevicesList.IsEnabled = true; ProcessingProgress.Value = 0; mainWindowBackgroundWorker.DoWork -= SaveConfiguration; mainWindowBackgroundWorker.RunWorkerCompleted -= SaveConfigurationCompleted; mainWindowBackgroundWorker.ProgressChanged -= SaveConfigurationProgressChanged; if (e.Result is ReaderSaverErrors) { if ((ReaderSaverErrors)e.Result == ReaderSaverErrors.CodeOk) { SelectedDevice = SelectedDevice;//wow!!! the propertys advantage СurrentlyProcessed.Text = "Запись конфигурации завершена успешно"; } else { СurrentlyProcessed.Text = "Запись конфигурации завершена c ошибкой: " + ((ReaderSaverErrors)e.Result).GetDescription(); } } if (_workerCompletedAction != null) { _workerCompletedAction(); _workerCompletedAction = null; } }