public DiskViewModel(IDisk disk, SelectedVolumeViewModelNotifier selectedVolumeObserver)
 {
     Title       = disk.Title;
     Type        = disk.Type;
     SizeInBytes = disk.SizeInBytes;
     Status      = disk.Status;
     Volumes     = new VolumeViewModelCollection(disk.Volumes, selectedVolumeObserver);
     Icon        = IconType.DriveIcon;
 }
 public VolumeViewModelCollection(IReadOnlyCollection <VolumeViewModel> volumeViewModels, SelectedVolumeViewModelNotifier selectedVolumeNotifier)
 {
     _volumeViewModels       = volumeViewModels;
     _selectedVolumeNotifier = selectedVolumeNotifier;
     _selectedVolumeNotifier.SelectedVolumeChanged += volume => SelectedVolume = volume;
 }
 public VolumeViewModelCollection(IVolumeCollection volumes, SelectedVolumeViewModelNotifier selectedVolumeObserver)
     : this(volumes.Select(volume => new VolumeViewModel(volume)).ToList(), selectedVolumeObserver)
 {
 }