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); }); } }
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"); } }); }