private void OpenFileCommand_Execute() { IsEnabled = false; OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = GenerateFilterForDialog(traceProviders); openFileDialog.CheckFileExists = true; openFileDialog.Multiselect = false; if (openFileDialog.ShowDialog() == true) { if (openFileDialog.FileName == CurrentTraceProvider?.TargetFile) { MessageBox.Show((string)Manager <LanguageCultureInfo> .StaticInstance.GetResource("#FileError"), (string)Manager <LanguageCultureInfo> .StaticInstance.GetResource("#ErrorMsgBoxTitle"), MessageBoxButton.OK, MessageBoxImage.Warning); IsEnabled = true; return; } //reset data and closing connection CurrentTraceProvider?.CloseConnection(); CurrentTraceProvider = null; _context.Post((s) => { Data.Clear(); }, null); //find provider and load data bool findedProvider = false; foreach (var el in traceProviders) { if (el.CanWorkWithIt(openFileDialog.FileName)) { IsEnabled = false; findedProvider = true; try { CurrentTraceProvider?.CloseConnection(); //-V3022 el.TargetFile = openFileDialog.FileName; CurrentTraceProvider = el; UpdateDataCommand_Execute(); } catch (Exception e) { MessageBox.Show(e.ToString(), (string)Manager <LanguageCultureInfo> .StaticInstance.GetResource("#ErrorMsgBoxTitle"), MessageBoxButton.OK, MessageBoxImage.Error); } break; } } //if provider not founded if (!findedProvider) { MessageBox.Show((string)Manager <LanguageCultureInfo> .StaticInstance.GetResource("#InvalidFileError"), (string)Manager <LanguageCultureInfo> .StaticInstance.GetResource("#ErrorMsgBoxTitle"), MessageBoxButton.OK, MessageBoxImage.Error); } } IsEnabled = true; }
private void SaveFileCommand_Execute() { IsEnabled = false; try { CurrentTraceProvider?.SaveChanges(); } catch (Exception e) { MessageBox.Show(e.ToString(), (string)Manager <LanguageCultureInfo> .StaticInstance.GetResource("#ErrorMsgBoxTitle"), MessageBoxButton.OK, MessageBoxImage.Error); } IsEnabled = true; }