/// <summary> /// Deletes all selected records from the list /// </summary> private async void DeleteRecordsAsync(object sender, EventArgs e) { try { await Task.Run(async() => { List <TunnelExitModel> selectedItems = GetSelectedItems().ToList(); if (selectedItems.Count == 0) { Dispatcher.Invoke(() => AeroViewerMessageBox.ShowMessageBox("Ошибка удаления", "Вы выбрали 0 записей", MessageBoxButton.OK)); return; } foreach (TunnelExitModel tunnelExit in selectedItems) { await Dispatcher.BeginInvoke(new Action(() => MainPageModel.PageModel.TunnelsData.Remove(tunnelExit))); } await Dispatcher.BeginInvoke(new Action(() => { csvDataGrid.ItemsSource = MainPageModel.PageModel.TunnelsData; numberOfVisibleRecordsTextBox.Text = string.Empty; })); }); } catch (IndexOutOfRangeException ex) { ExceptionHandler.Handler.HandleExceptionWithMessageBox(ex, "Ошибка"); } catch (Exception ex) { ExceptionHandler.Handler.HandleExceptionWithMessageBox(ex, "Ошибка"); } }
public void HandleExceptionWithMessageBox(Exception ex, string title) => AeroViewerMessageBox.ShowMessageBox(title, ex.Message, System.Windows.MessageBoxButton.OK);