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.ReloadJsdFile(_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); }); }
public async void Execute(object parameter) { TestViewModel _viewModel = (TestViewModel)parameter; this.IsCanExecute = false; this.IsCanExecute = await Task.Run <bool>(() => { try { _viewModel.StatusString = String.Empty; _viewModel.ResultString = String.Empty; _viewModel.ResultString = JsdFile.ReloadJsdFile(_viewModel.FileName); _viewModel.StatusString = "Done"; } catch (Exception exc) { _viewModel.ErrorString = Common.GetErrorString(exc); } return(true); }); }