private void FConvertBackGroundWorker_DoWork(object sender, DoWorkEventArgs e) { this.IsBusy = true; try { string[] _files = (string[])e.Argument; int _filesCount = 0; foreach (string _fileName in _files) { JsdFile.ConvertJsdFileToHighDefinition(_fileName); _filesCount++; this.FConvertBackGroundWorker.ReportProgress(100 * _filesCount / _files.Length); } } finally { this.IsBusy = false; } }
public async void Execute(object parameter) { TestViewModel _viewModel = (TestViewModel)parameter; DirectoryInfo _dir = new DirectoryInfo(_viewModel.FolderName); this.IsCanExecute = false; this.IsCanExecute = await Task.Run <bool>(() => { try { _viewModel.StatusString = String.Empty; _viewModel.ResultString = String.Empty; _viewModel.StatusString = String.Empty; FileInfo[] _files = _dir.GetFiles("*.JSD", SearchOption.AllDirectories); string _currentDir = String.Empty; int _i = 0; foreach (FileInfo _file in _files) { JsdFile.ConvertJsdFileToHighDefinition(_file.FullName); if (_currentDir != _file.DirectoryName) { _currentDir = _file.DirectoryName; _viewModel.StatusString = String.Format("{0} processing ...", _currentDir); _viewModel.ResultString = String.Format("{0} folders processed ...", ++_i); } } _viewModel.StatusString = "Done"; } catch (Exception exc) { _viewModel.ErrorString = Common.GetErrorString(exc); } return(true); }); }
private void btnConvert_Click(object sender, RoutedEventArgs e) { MessageBoxResult _result = MessageBox.Show( "Files will be overrwritten.", "Convertation JSD to JSD-HD", MessageBoxButton.OKCancel); if (_result != MessageBoxResult.OK) { return; } ProgressHolder _ph = new ProgressHolder(); _ph.IsCancelable = true; ProgressWindow.Run(_ph); int _filesCount = 0; try { foreach (string _fileName in this.FFileNames) { if (_ph.Progress < 0) { break; } JsdFile.ConvertJsdFileToHighDefinition(_fileName); _filesCount++; _ph.Progress = 100 * _filesCount / this.FFileNames.Length; } } finally { _ph.Progress = -1; } }