private void QueueRandomSongs(RandomSelectOption options)
        {
            if (_songDataProvider.SearchedSongs?.Count > 0)
            {
                Log($"random songs from songs count: {_songDataProvider.SearchedSongs?.Count}", Category.Debug);

                IEnumerable <AllJoinedTable> filtered = null;
                if (options.RatingRange.IsEnabled)
                {
                    Log("Rating random selected");
                    filtered = _songDataProvider.SearchedSongs
                               .Where(x => x.Rating >= options.RatingRange.Low &&
                                      x.Rating <= options.RatingRange.Hi
                                      );
                }
                else
                {
                    Log("Rating random not selected");
                    filtered = _songDataProvider.SearchedSongs;
                }

                Log($"Queuing {options.Amount} random");
                Application.Current.Dispatcher.Invoke(() =>
                {
                    _queuedSongDataProvider.QueueSongRange(filtered, options.Amount);
                });
            }
        }
Beispiel #2
0
        private void GetRandom()
        {
            var randomOption = new RandomSelectOption(Amount, RatingRange.IsEnabled, RatingRange.Low, RatingRange.Hi);

            Notification.Content = randomOption;
            FinishInteraction?.Invoke();
        }
        private void OnRequestRandomSelect(string viewName)
        {
            _randomDialogOpen = true;
            Log($"Opening {viewName}");

            this.RequestRandomViewRequest.Raise(
                new Notification {
                Content = "Notification Message", Title = "Horsify - Random Select"
            }
                , r =>
            {
                Log("Queuing songs from selection RandomSelectView");
                _randomDialogOpen = false;
                //TODO: A better way to re-enable the side bar on completion
                _eventAggregator.GetEvent <HorsifySearchCompletedEvent>().Publish();
                RandomSelectOption randomSelectOption = r.Content as RandomSelectOption;
                if (randomSelectOption?.Amount > 0)
                {
                    QueueRandomSongs(randomSelectOption);
                    Log("Queued songs from selection RandomSelectView");
                }
            });
        }