private bool CanRead() { return (CanDoAction() && Directory.Exists(TargetDirectory) && CdItems.Any(item => item.IsSelected == true)); }
private async void OnOpenDrive() { try { Reading = true; CdItems.Clear(); CdItemViewModel[] cdTracks = await _cdReaderService.GetTracks(DriveLetter); CdItems.AddRange(cdTracks); await RaisePropertyChanged(nameof(CdItems)); Reading = false; } catch (Exception) { _dialogService.ShowError(Resources.Error_CdRead); Reading = false; CdItems.Clear(); } finally { SelectAllCommand.RaiseCanExecuteChanged(); DeSelectAllCommand.RaiseCanExecuteChanged(); ReadCommand.RaiseCanExecuteChanged(); } }
private async void OnRead() { try { Done = 0; Reading = true; var selectedTracks = CdItems.Where(i => i.IsSelected); Total = selectedTracks.Sum(i => i.Size); var reuslt = await _cdReaderService.ReadTracks(DriveLetter, selectedTracks, TargetDirectory, _progressReporter, _cts.Token); Reading = false; } catch (Exception) { _dialogService.ShowError(Resources.Error_CdRead); Reading = false; Done = 0; } }