public TrackViewModel(Guid guid, SynoTrack synoTrack, IPageSwitchingService pageSwitchingService, AlbumViewModelFactory albumViewModelFactory, IAudioStationSession session, IUrlParameterToObjectsPlateHeater urlParameterToObjectsPlateHeater, ITrackViewModelFactory trackViewModelFactory, INotificationService notificationService) { if (synoTrack == null) { throw new ArgumentNullException("synoTrack"); } if (session == null) { throw new ArgumentNullException("session"); } _trackViewModelFactory = trackViewModelFactory; _notificationService = notificationService; if (albumViewModelFactory == null) throw new ArgumentNullException("albumViewModelFactory"); Guid = guid; TrackInfo = synoTrack; NavigateToContainingAlbumCommand = new DelegateCommand(OnNavigateToContainingAlbum); this._session = session; this._urlParameterToObjectsPlateHeater = urlParameterToObjectsPlateHeater; _albumViewModelFactory = albumViewModelFactory; _albumViewModelFactory = albumViewModelFactory; _pageSwitchingService = pageSwitchingService; }
public ArtistDetailViewModel(SynoItem artist, ISearchService searchService, AlbumViewModelFactory albumViewModelFactory, INavigatorService navigatorSevice, IPageSwitchingService pageSwitchingService, ITrackViewModelFactory trackViewModelFactory) { if (trackViewModelFactory == null) throw new ArgumentNullException("trackViewModelFactory"); this.Albums = new ObservableCollection<AlbumViewModel>(); this.ArtistName = artist.Title; this.SimilarArtists = new ObservableCollection<IArtistViewModel>(); this._searchService = searchService; _albumViewModelFactory = albumViewModelFactory; _navigatorSevice = navigatorSevice; _pageSwitchingService = pageSwitchingService; _trackViewModelFactory = trackViewModelFactory; this.PopulateAlbumsAsync(artist); GetSimilarArtistsAsync(artist); }
private void LoadAlbum() { try { //var metadata = FileSystem.QueryMetadataOf(_directoryInfo.FullName).ToList(); //Album = AlbumViewModelFactory.FromObjects(metadata); var metadata = new List <MetadataDto>(); Task.Run(() => FileSystem.QueryMetadataOf(_directoryInfo.FullName)) .ToObservable() .ObserveOnDispatcher() .SelectMany(x => x) .Subscribe(x => metadata.Add(x), () => Album = AlbumViewModelFactory.FromObjects(metadata)); } catch { } }
public ArtistDetailViewModel(SynoItem artist, ISearchService searchService, AlbumViewModelFactory albumViewModelFactory, INavigatorService navigatorSevice, IPageSwitchingService pageSwitchingService, ITrackViewModelFactory trackViewModelFactory) { if (trackViewModelFactory == null) { throw new ArgumentNullException("trackViewModelFactory"); } this.Albums = new ObservableCollection <AlbumViewModel>(); this.ArtistName = artist.Title; this.SimilarArtists = new ObservableCollection <IArtistViewModel>(); this._searchService = searchService; _albumViewModelFactory = albumViewModelFactory; _navigatorSevice = navigatorSevice; _pageSwitchingService = pageSwitchingService; _trackViewModelFactory = trackViewModelFactory; this.PopulateAlbumsAsync(artist); GetSimilarArtistsAsync(artist); }
public TrackViewModel(Guid guid, SynoTrack synoTrack, IPageSwitchingService pageSwitchingService, AlbumViewModelFactory albumViewModelFactory, IAudioStationSession session, IUrlParameterToObjectsPlateHeater urlParameterToObjectsPlateHeater, ITrackViewModelFactory trackViewModelFactory, INotificationService notificationService) { if (synoTrack == null) { throw new ArgumentNullException("synoTrack"); } if (session == null) { throw new ArgumentNullException("session"); } _trackViewModelFactory = trackViewModelFactory; _notificationService = notificationService; if (albumViewModelFactory == null) { throw new ArgumentNullException("albumViewModelFactory"); } Guid = guid; TrackInfo = synoTrack; NavigateToContainingAlbumCommand = new DelegateCommand(OnNavigateToContainingAlbum); this._session = session; this._urlParameterToObjectsPlateHeater = urlParameterToObjectsPlateHeater; _albumViewModelFactory = albumViewModelFactory; _albumViewModelFactory = albumViewModelFactory; _pageSwitchingService = pageSwitchingService; }