public async Task TerminateProcesAsync(int processId) { var process = ProcessesModel.FirstOrDefault(p => p.ProcessId == processId); var commands = new List <UICommand> { new UICommand("Yes, kill it", async(cmd) => { try { await _restService.DeleteAsync(new Uri(String.Format("api/taskmanager/process?pid={0}", processId), UriKind.Relative)); ProcessesModel.Remove(process); } catch (Exception ex) { await _userInterfaceService.ShowFeedbackAsync(ex); } }), new UICommand("No, be nice") }; await _userInterfaceService.ShowDialogAsync("Terminate Process Confirmation", String.Format("Are you sure you want to terminate the '{0}' process?", process.ImageName), commands, 1); }
private async void Timer_Tick(object sender, object e) { try { _timer.Stop(); _timer.Interval = TimeSpan.FromSeconds(1); var processModel = await _restService.GetAsync <ProcessesModel>(new Uri("api/resourcemanager/processes", UriKind.Relative)); if (ProcessesModel == null || ProcessesModel.Count <= 1) { ProcessesModel = new ObservableCollection <ProcessViewModel>(); foreach (var process in processModel.Processes) { ProcessesModel.Add(ProcessViewModel.FromProcessModel(this, process)); } } else { // Update displayed processes. Ignore any processes that were starter or terminated until the next page transition. foreach (var process in processModel.Processes) { var displayProcess = ProcessesModel.Where(p => p.ProcessId == process.ProcessId).FirstOrDefault(); if (displayProcess == null) { continue; } displayProcess.Update(process); } // for each process } _timer.Start(); await _userInterfaceService.HideBusyIndicatorAsync(); } catch (Exception ex) { await _userInterfaceService.ShowFeedbackAsync(ex); } }
public void ScanAndKillBlockedProcesses(ProcessesModel ListOfBlockedProcesses) { KillBlockedProcesses(GetListOfBlockedProcessesThatAreRunning(ListOfBlockedProcesses.ProcessesToBeBlocked)); }
public MainWindow() { InitializeComponent(); Logging.LogToLoggingTextBoxInUI("Application started"); ListOfBlockedProcesses = new JsonHandler().LoadBlockList(); }