Exemple #1
0
        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>();
        }
Exemple #2
0
        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));
        }
Exemple #4
0
        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();
        }
Exemple #6
0
        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>();
        }
Exemple #7
0
 public DjHorsifyFilterScreenViewModel(IDjHorsifyService djHorsifyService, IRegionManager regionManager, ILoggerFacade loggerFacade) : base(regionManager, loggerFacade)
 {
     _djHorsifyService = djHorsifyService;
     DjHorsifyOption   = _djHorsifyService.DjHorsifyOption as DjHorsifyOption;
 }