public async Task SearchLikeFiltersAsync(SearchFilter searchFilter, short randomAmount = 0, short maxAmount = -1) { ResetResults(); var results = await _horsifySongApi.SearchLikeFiltersAsync(searchFilter, randomAmount, maxAmount); if (results?.Count() > 0) { SearchedSongs.AddRange(results); } }
private void ResetResults() { if (SearchedSongs == null) { SearchedSongs = new ObservableCollection <Music.Data.Model.AllJoinedTable>(); } else { SearchedSongs.Clear(); } }
public async Task ExtraSearch(ExtraSearchType extraSearchType) { ResetResults(); IEnumerable <AllJoinedTable> songs = null; songs = await _horsifySongApi.ExtraSearch(extraSearchType); if (songs?.Count() > 0) { SearchedSongs.AddRange(songs); } }
public async Task SearchAsync(SearchType searchTypes, string wildCardSearch, short randomAmount = 10, short maxAmount = -1) { if (SearchedSongs == null) { SearchedSongs = new ObservableCollection <Music.Data.Model.AllJoinedTable>(); } else { SearchedSongs.Clear(); } var results = await this.GetSongsAsync(searchTypes, wildCardSearch, randomAmount, maxAmount); if (results?.Count() > 0) { foreach (var item in results) { SearchedSongs.AddRange(results); } } }
private async Task AddSongToRoom(Song songToAdd) { if (string.IsNullOrEmpty(SongName)) { return; } var request = new RestRequest($@"api/Room/{CurrentRoom.Id}", Method.POST); request.RequestFormat = DataFormat.Json; request.AddHeader("Authorization", $"Bearer {_jwtToken}"); request.AddJsonBody(songToAdd); var response = await _partyPlaylistsClient.ExecuteAsync(request); if (response.StatusCode == HttpStatusCode.OK) { RoomSongs = new ObservableCollection <RoomSong>(JsonConvert.DeserializeObject <Room>((await _partyPlaylistsClient.ExecuteAsync(request)).Content).RoomSongs.OrderByDescending(s => s.SongRating)); SearchedSongs.Remove(songToAdd); await _hubConnection.InvokeAsync("UpdateSongsAsync", CurrentRoom.Id.ToString()); } }