private IEnumerable <BitmapViewModel> CreateBitmapViewModels(BitmapRepository bitmapRepository, BitmapThumbnailRepository thumbnailRepository) { return(bitmapRepository.ListAllBitmaps().Select(x => new BitmapViewModel(x, thumbnailRepository.Load(x)))); }
public AnimationCreationViewModel(BitmapRepository bitmapRepository, BitmapStoryboardCreator creator, BitmapThumbnailRepository thumbnailRepository, int numberOfRows, int numberOfTubes) { _bitmapRepository = bitmapRepository; _creator = creator; _numberOfRows = numberOfRows; _numberOfTubes = numberOfTubes; this.SelectImage = ReactiveCommand.Create(() => { if (_bitmapSelectionViewModel == null) { _bitmapSelectionViewModel = new BitmapSelectionViewModel(bitmapRepository, thumbnailRepository); _bitmapSelectionViewModel.BitmapSelected.Subscribe(onNext => { _bitmapSelectionControl?.Close(); BitmapViewModel = onNext; }); } _bitmapSelectionControl = new BitmapSelectionControl(); _bitmapSelectionControl.ViewModel = _bitmapSelectionViewModel; _bitmapSelectionControl.ShowDialog(); }); var canSave = this.WhenAnyValue( x => x.Name, x => x.BitmapViewModel, x => x.Delay, (name, bitmapViewModel, delay) => !String.IsNullOrWhiteSpace(name) && bitmapViewModel != null && DelayIsValid(delay) ); IObservable <bool> canStart = this.WhenAnyValue(x => x.BitmapViewModel, x => x.Name, (bitmapViewModel, name) => bitmapViewModel != null); this.Save = ReactiveCommand.Create(CreateStoryboard, canSave); this.Start = ReactiveCommand.Create(CreateStoryboard, canStart); this.Back = ReactiveCommand.Create(() => {}); }
public BitmapSelectionViewModel(BitmapRepository bitmapRepository, BitmapThumbnailRepository thumbnailRepository) { _thumbnailRepository = thumbnailRepository; BitmapFolder = bitmapRepository.FolderPath; Bitmaps = CreateBitmapViewModels(bitmapRepository, thumbnailRepository); }