public DjHorsifyViewModel(IHorsifyDialogService horsifyDialogService, IDjHorsifyService djHorsifyService, IRegionManager regionManager, ILoggerFacade loggerFacade) : base(loggerFacade) { _regionManager = regionManager; _horsifyDialogService = horsifyDialogService; _djHorsifyService = djHorsifyService; DjHorsifyOption = _djHorsifyService.DjHorsifyOption as DjHorsifyOption; try { _djHorsifyService.GetDatabaseFiltersAsync().Wait(); GenerateHorsifyFilters(); //Generate the the filtering views collection CreateFilterViews(); } catch (Exception ex) { Log($"Error Loading DjHorsify : {ex.Message}", Category.Exception); throw; } #region Commands CreateFilterCommand = new DelegateCommand(OnCreateFilter); ClearSelectionsCommand = new DelegateCommand(ClearSelections); EditFilterCommand = new DelegateCommand <DjHorsifyFilterModel>(OnEditFilter); RunSearchCommand = new DelegateCommand(OnRunSearch); RunSingleSearchCommand = new DelegateCommand <DjHorsifyFilterModel>(OnRunSearch); SaveFilterCommand = new DelegateCommand(OnSaveFilter); ShowSavedFiltersCommand = new DelegateCommand(OnShowSavedFilters); #endregion ConfirmationRequest = new InteractionRequest <IConfirmation>(); }
public QueueListViewModel(IQueuedSongDataProvider queuedSongDataProvider, IUnityContainer unityContainer, IEventAggregator eventAggregator, IRegionManager regionManager, IDjHorsifyService djHorsifyService, ILoggerFacade loggerFacade) : base(loggerFacade) { _queuedSongDataProvider = queuedSongDataProvider; _eventAggregator = eventAggregator; _unityContainer = unityContainer; _regionManager = regionManager; _djHorsifyService = djHorsifyService; QueueItems = new ObservableCollection <QueueItemViewModel>(); QueuedCollectionView = CollectionViewSource.GetDefaultView(QueueItems); _queuedSongDataProvider.QueueSongs.CollectionChanged += QueueSongs_CollectionChanged; PlaySongCommand = new DelegateCommand <QueueItemViewModel>(PlayQueueItem); RemoveSongFromQueueCommand = new DelegateCommand <QueueItemViewModel>(OnRemoveSong); #region Queue Control Events _eventAggregator.GetEvent <ClearQueueEvent>().Subscribe(OnClearQueue, ThreadOption.PublisherThread); _eventAggregator.GetEvent <ShuffleQueueEvent>().Subscribe(OnShuffleQueue, ThreadOption.UIThread); _eventAggregator.GetEvent <SkipQueueEvent>().Subscribe(async() => await OnSkipQueueAsync(), ThreadOption.UIThread); #endregion }
public SearchedSongsViewModel(ISongDataProvider songDataProvider, IQueuedSongDataProvider queuedSongDataProvider, ISearchHistoryProvider searchHistory, IVoiceControl voiceControl, IEventAggregator eventAggregator, IRegionManager regionManager, IDjHorsifyService djHorsifyService, ILoggerFacade loggerFacade) : base(queuedSongDataProvider, eventAggregator, loggerFacade) { _eventAggregator = eventAggregator; _regionManager = regionManager; _djHorsifyService = djHorsifyService; _voiceControl = voiceControl; _voiceControl.VoiceCommandSent += _voiceControl_VoiceCommandSent; _songDataProvider = songDataProvider; _searchHistory = searchHistory; RecentSearch = new RecentSearch(); SearchedSongs = _songDataProvider.SearchedSongs; SongsListView = new ListCollectionView(_songDataProvider.SearchedSongs); SongsListView.CurrentChanged += SongsListView_CurrentChanged; //Dialog requests RequestRandomViewRequest = new InteractionRequest <INotification>(); RequestSortDialogRequest = new InteractionRequest <INotification>(); RequestViewCommand = new DelegateCommand <string>((viewName) => OnRequestView(viewName)); }
public SaveSearchFilterViewModel(IDjHorsifyService djHorsifyService, IEventAggregator eventAggregator, IRegionManager regionManager, ILoggerFacade loggerFacade) : base(loggerFacade) { _djHorsifyService = djHorsifyService; _regionManager = regionManager; CloseViewCommand = new DelegateCommand(OnCloseView); SaveFilterCommand = new DelegateCommand(async() => await OnSaveFilterAsync(), CanExecuteSave); }
public SavedSearchFiltersViewModel(IHorsifyDialogService horsifyDialogService, IDjHorsifyService djHorsifyService, IRegionManager regionManager, ILoggerFacade loggerFacade) : base(loggerFacade) { _djHorsifyService = djHorsifyService; _regionManager = regionManager; _horsifyDialogService = horsifyDialogService; DeleteFilterCommand = new DelegateCommand(OnDeleteFilterConfirm); CloseViewCommand = new DelegateCommand(() => _regionManager.RequestNavigate(Regions.ContentRegion, "DjHorsifyView")); LoadSavedFilterCommand = new DelegateCommand(OnLoadSavedFilter); SearchFilterCommand = new DelegateCommand(OnRunSearchFilter); ConfirmationRequest = new InteractionRequest <IConfirmation>(); InitSavedFilters(); }
public EditFilterViewModel(IHorsifyDialogService horsifyDialogService, IDjHorsifyService djHorsifyService, IRegionManager regionManager, ILoggerFacade loggerFacade) : base(loggerFacade) { _regionManager = regionManager; _djHorsifyService = djHorsifyService; _horsifyDialogService = horsifyDialogService; SearchTerms = new ObservableCollection <string>(); AvailableSearchTerms = new ListCollectionView(SearchTerms); AddSearchTermCommand = new DelegateCommand(OnAddSearchTerm); CloseViewCommand = new DelegateCommand(OnCancel); DeleteFilterCommand = new DelegateCommand(OnDeleteFilter); RemoveSearchTermCommand = new DelegateCommand(OnRemoveSearchTerm); SaveFilterCommand = new DelegateCommand(OnSaveFilter); ConfirmationRequest = new InteractionRequest <IConfirmation>(); }
public DjHorsifyFilterScreenViewModel(IDjHorsifyService djHorsifyService, IRegionManager regionManager, ILoggerFacade loggerFacade) : base(regionManager, loggerFacade) { _djHorsifyService = djHorsifyService; DjHorsifyOption = _djHorsifyService.DjHorsifyOption as DjHorsifyOption; }