public TvShowViewModel(ITvShowViewModelFactory viewModelFactory, ITvShowFileService tvShowFileService, ITvShowMetadataService metadataService, IBusyProvider busyProvider, IDialogViewer dialogViewer, IProgressManagerViewModel progressManager, IKeyDataStore keyDataStore, string path) : base(busyProvider, dialogViewer) { _viewModelFactory = viewModelFactory; _tvShowFileService = tvShowFileService; _metadataService = metadataService; _busyProvider = busyProvider; Title = new RequiredPropertyDecorator <string>(new StringCachedPropertyDecorator(keyDataStore, path)); Title.PropertyChanged += TitleValueChanged; Path = path; Selection = viewModelFactory.GetTvShowSelection(this); RefreshCommand = new RefreshMetadataCommand(this); UpdateCommand = new UpdateMetadataCommand(this, progressManager, busyProvider); SaveCommand = new SaveMetadataCommand(this); DeleteCommand = new DeleteMetadataCommand(this); Images = viewModelFactory.GetTvShowImages(this, path); ActorManager = viewModelFactory.GetActorManager(path, () => OnPropertyChanged("ActorManager")); Genres = new DashDelimitedCollectionViewModel <string>(s => s); // We need to set a "dummy" item in the collection for an arrow to appear in the TreeView since we're lazy-loading the items under it Children.Add(_viewModelFactory.GetSeason(this, "dummy")); }
public EpisodeViewModel(ITvShowViewModelFactory viewModelFactory, IEpisodeMetadataService metadataService, ITvShowViewModel tvShowViewModel, IProgressManagerViewModel progressManager, IBusyProvider busyProvider, IDialogViewer dialogViewer, IKeyDataStore keyDataStore, string path) : base(busyProvider, dialogViewer) { _metadataService = metadataService; _tvShowViewModel = tvShowViewModel; _busyProvider = busyProvider; Title = new RequiredPropertyDecorator <string>(new StringCachedPropertyDecorator(keyDataStore, path + "?title")); Title.PropertyChanged += CachedPropertyChanged; SeasonNumber = new RequiredPropertyDecorator <int?>(new IntCachedPropertyDecorator(keyDataStore, path + "?seasonNumber")); SeasonNumber.PropertyChanged += CachedPropertyChanged; EpisodeNumber = new RequiredPropertyDecorator <int?>(new IntCachedPropertyDecorator(keyDataStore, path + "?episodeNumber")); EpisodeNumber.PropertyChanged += CachedPropertyChanged; Path = path; Credits = new DashDelimitedCollectionViewModel <string>(s => s); Directors = new DashDelimitedCollectionViewModel <string>(s => s); ImagePath = viewModelFactory.GetImage(true); RefreshCommand = new RefreshMetadataCommand(this); UpdateCommand = new UpdateMetadataCommand(this, progressManager, busyProvider); SaveCommand = new SaveMetadataCommand(this); DeleteCommand = new DeleteMetadataCommand(this); }
public SeasonImagesViewModel(ITvShowViewModelFactory viewModelFactory, ITvShowMetadataService metadataService, string tvShowPath, string seasonPath) { PosterUrl = viewModelFactory.GetImage(true, new SeasonPosterImageStrategy(metadataService, tvShowPath, seasonPath)); BannerUrl = viewModelFactory.GetImage(false, new SeasonBannerImageStrategy(metadataService, tvShowPath, seasonPath)); }
public SeasonViewModelTests() { _viewModelFactory = Substitute.For <ITvShowViewModelFactory>(); _tvShowFileService = Substitute.For <ITvShowFileService>(); _tvShowMetadata = Substitute.For <ITvShowViewModel>(); _busyProvider = _busyProvider = Substitute.For <IBusyProvider>(); _path = @"C:\Folder\TV Shows\Game of Thrones\Season 1"; _viewModel = new SeasonViewModel(_viewModelFactory, _tvShowFileService, _tvShowMetadata, null, _busyProvider, _path); }
public SeasonViewModelTests() { _viewModelFactory = Substitute.For<ITvShowViewModelFactory>(); _tvShowFileService = Substitute.For<ITvShowFileService>(); _tvShowMetadata = Substitute.For<ITvShowViewModel>(); _busyProvider = _busyProvider = Substitute.For<IBusyProvider>(); _path = @"C:\Folder\TV Shows\Game of Thrones\Season 1"; _viewModel = new SeasonViewModel(_viewModelFactory, _tvShowFileService, _tvShowMetadata, null, _busyProvider, _path); }
public TvShowManagerViewModel(ITvShowViewModelFactory viewModelFactory, IProgressManagerViewModel progressManager, IBusyProvider busyProvider) { _viewModelFactory = viewModelFactory; _busyProvider = busyProvider; TvShows = new ObservableCollection <ITvShowViewModel>(); UpdateAll = new UpdateAllMetadataCommand <ITvShowViewModel>(TvShows, progressManager, busyProvider); FindNewEpisodes = new FindNewEpisodesCommand(TvShows, progressManager, busyProvider); Sources = viewModelFactory.GetSourceManager(SourceType.TvShow); Sources.SpecificFolders.CollectionChanged += SourceFoldersCollectionChanged; }
public TvShowManagerViewModel(ITvShowViewModelFactory viewModelFactory, IProgressManagerViewModel progressManager, IBusyProvider busyProvider) { _viewModelFactory = viewModelFactory; _busyProvider = busyProvider; TvShows = new ObservableCollection<ITvShowViewModel>(); UpdateAll = new UpdateAllMetadataCommand<ITvShowViewModel>(TvShows, progressManager, busyProvider); FindNewEpisodes = new FindNewEpisodesCommand(TvShows, progressManager, busyProvider); Sources = viewModelFactory.GetSourceManager(SourceType.TvShow); Sources.SpecificFolders.CollectionChanged += SourceFoldersCollectionChanged; }
public EpisodeViewModelTests() { _metadataService = Substitute.For <IEpisodeMetadataService>(); _tvShowMetadata = Substitute.For <ITvShowViewModel>(); ITvShowViewModelFactory viewModelFactory = Substitute.For <ITvShowViewModelFactory>(); _busyProvider = _busyProvider = Substitute.For <IBusyProvider>(); var keyDataStore = Substitute.For <IKeyDataStore>(); _path = @"C:\Folder\TV Shows\Game of Thrones\Season 2\3x09.mkv"; _viewModel = new EpisodeViewModel(viewModelFactory, _metadataService, _tvShowMetadata, null, _busyProvider, null, keyDataStore, _path); }
public TvShowManagerViewModelTests() { _sourceManagerViewModel = Substitute.For <ISourceManagerViewModel>(); _sourceManagerViewModel.SpecificFolders .Returns(new ObservableCollection <string>()); _viewModelFactory = Substitute.For <ITvShowViewModelFactory>(); _viewModelFactory.GetSourceManager(SourceType.TvShow) .Returns(_sourceManagerViewModel); _busyProvider = Substitute.For <IBusyProvider>(); _viewModel = new TvShowManagerViewModel(_viewModelFactory, null, _busyProvider); }
public TvShowManagerViewModelTests() { _sourceManagerViewModel = Substitute.For<ISourceManagerViewModel>(); _sourceManagerViewModel.SpecificFolders .Returns(new ObservableCollection<string>()); _viewModelFactory = Substitute.For<ITvShowViewModelFactory>(); _viewModelFactory.GetSourceManager(SourceType.TvShow) .Returns(_sourceManagerViewModel); _busyProvider = Substitute.For<IBusyProvider>(); _viewModel = new TvShowManagerViewModel(_viewModelFactory, null, _busyProvider); }
public TvShowImagesViewModel(ITvShowFileService tvShowFileService, ITvShowMetadataService metadataService, ITvShowViewModelFactory viewModelFactory, ITvShowViewModel metadataViewModel, IBusyProvider busyProvider, string path) { _tvShowFileService = tvShowFileService; _viewModelFactory = viewModelFactory; _busyProvider = busyProvider; _path = path; SeasonImages = new ObservableCollection<ISeasonImagesViewModel>(); FanartUrl = viewModelFactory.GetImage(true, new FanartImageStrategy(metadataService, metadataViewModel)); PosterUrl = viewModelFactory.GetImage(true, new PosterImageStrategy(metadataService, metadataViewModel)); BannerUrl = viewModelFactory.GetImage(false, new BannerImageStrategy(metadataService, metadataViewModel)); }
public TvShowImagesViewModel(ITvShowFileService tvShowFileService, ITvShowMetadataService metadataService, ITvShowViewModelFactory viewModelFactory, ITvShowViewModel metadataViewModel, IBusyProvider busyProvider, string path) { _tvShowFileService = tvShowFileService; _viewModelFactory = viewModelFactory; _busyProvider = busyProvider; _path = path; SeasonImages = new ObservableCollection <ISeasonImagesViewModel>(); FanartUrl = viewModelFactory.GetImage(true, new FanartImageStrategy(metadataService, metadataViewModel)); PosterUrl = viewModelFactory.GetImage(true, new PosterImageStrategy(metadataService, metadataViewModel)); BannerUrl = viewModelFactory.GetImage(false, new BannerImageStrategy(metadataService, metadataViewModel)); }
public SeasonViewModel(ITvShowViewModelFactory viewModelFactory, ITvShowFileService tvShowFileService, ITvShowViewModel tvShowMetadata, ITvShowMetadataService metadataService, IBusyProvider busyProvider, string path) : base(busyProvider, viewModelFactory.GetEpisode(tvShowMetadata, "dummy")) { _viewModelFactory = viewModelFactory; _tvShowFileService = tvShowFileService; _tvShowMetadata = tvShowMetadata; _busyProvider = busyProvider; _path = path; _posterUrl = viewModelFactory.GetImage(true, new SeasonPosterImageStrategy(metadataService, tvShowMetadata.Path, path)); _bannerUrl = viewModelFactory.GetImage(false, new SeasonBannerImageStrategy(metadataService, tvShowMetadata.Path, path)); }
public TvShowViewModelTests() { _viewModelFactory = Substitute.For<ITvShowViewModelFactory>(); _tvShowFileService = Substitute.For<ITvShowFileService>(); _metadataService = Substitute.For<ITvShowMetadataService>(); _busyProvider = Substitute.For<IBusyProvider>(); _keyDataStore = Substitute.For<IKeyDataStore>(); _path = @"C:\Folder\TV Shows\Game of Thrones"; _viewModelFactory = Substitute.For<ITvShowViewModelFactory>(); IActorManagerViewModel actorManager = Substitute.For<IActorManagerViewModel>(); actorManager.Actors .Returns(new ObservableCollection<IActorViewModel>()); _viewModelFactory.GetActorManager(_path, Arg.Any<Action>()) .Returns(actorManager); _viewModel = new TvShowViewModel(_viewModelFactory, _tvShowFileService, _metadataService, _busyProvider, null, null, _keyDataStore, _path); }
public TvShowViewModelTests() { _viewModelFactory = Substitute.For <ITvShowViewModelFactory>(); _tvShowFileService = Substitute.For <ITvShowFileService>(); _metadataService = Substitute.For <ITvShowMetadataService>(); _busyProvider = Substitute.For <IBusyProvider>(); _keyDataStore = Substitute.For <IKeyDataStore>(); _path = @"C:\Folder\TV Shows\Game of Thrones"; _viewModelFactory = Substitute.For <ITvShowViewModelFactory>(); IActorManagerViewModel actorManager = Substitute.For <IActorManagerViewModel>(); actorManager.Actors .Returns(new ObservableCollection <IActorViewModel>()); _viewModelFactory.GetActorManager(_path, Arg.Any <Action>()) .Returns(actorManager); _viewModel = new TvShowViewModel(_viewModelFactory, _tvShowFileService, _metadataService, _busyProvider, null, null, _keyDataStore, _path); }