Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
 private void ResetResults()
 {
     if (SearchedSongs == null)
     {
         SearchedSongs = new ObservableCollection <Music.Data.Model.AllJoinedTable>();
     }
     else
     {
         SearchedSongs.Clear();
     }
 }
Ejemplo n.º 3
0
        public async Task ExtraSearch(ExtraSearchType extraSearchType)
        {
            ResetResults();
            IEnumerable <AllJoinedTable> songs = null;

            songs = await _horsifySongApi.ExtraSearch(extraSearchType);

            if (songs?.Count() > 0)
            {
                SearchedSongs.AddRange(songs);
            }
        }
Ejemplo n.º 4
0
        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());
            }
        }