public async Task <List <Model.Artist> > GetFavouriteArtists(int ID, ArtistSearchRequest search)
        {
            try
            {
                var url = $"{APIUrl}/User/{ID}/FavouriteArtists";

                if (search != null)
                {
                    url += "?";
                    url += await search.ToQueryString();
                }

                return(await url.WithBasicAuth(Username, Password).GetJsonAsync <List <Model.Artist> >());
            }
            catch (FlurlHttpException ex)
            {
                var errors = await ex.GetResponseJsonAsync <Dictionary <string, string[]> >();

                var stringBuilder = new StringBuilder();
                foreach (var error in errors)
                {
                    stringBuilder.AppendLine($"{error.Key}, ${string.Join(",", error.Value)}");
                }

                await Application.Current.MainPage.DisplayAlert("Error", stringBuilder.ToString(), "OK");

                return(default);
Beispiel #2
0
        private async Task LoadList(ArtistSearchRequest request)
        {
            var result = await artistService.Get <List <MArtist> >(request);

            dgvArtists.AutoGenerateColumns = false;
            dgvArtists.ReadOnly            = true;
            dgvArtists.DataSource          = result;
        }
Beispiel #3
0
        private async Task Search(object query)
        {
            var request = new ArtistSearchRequest()
            {
                Name = query as string
            };

            await Init(request);
        }
        private async void ucArtistList_Load(object sender, EventArgs e)
        {
            var request = new ArtistSearchRequest()
            {
                Page         = 1,
                ItemsPerPage = _itemsPerPage
            };

            await LoadList(request);
        }
Beispiel #5
0
        private async void btnSearch_Click(object sender, EventArgs e)
        {
            var search  = txtSearch.Text;
            var request = new ArtistSearchRequest()
            {
                Name = search
            };

            await LoadList(request);
        }
Beispiel #6
0
        public async Task <List <MArtist> > GetLikedArtists(int ID, ArtistSearchRequest request)
        {
            var query = _context.UserLikedArtists
                        .Where(i => i.UserID == ID)
                        .Select(i => i.Artist)
                        .AsQueryable();

            var list = await query.ToListAsync();

            return(_mapper.Map <List <MArtist> >(list));
        }
        private async void btnSearch_Click(object sender, EventArgs e)
        {
            var search = Convert.ToString(txtSearch.Text);

            var request = new ArtistSearchRequest()
            {
                Page         = 1,
                ItemsPerPage = _itemsPerPage,
                Name         = search
            };

            await LoadList(request);
        }
Beispiel #8
0
        public async Task Init(ArtistSearchRequest request = null)
        {
            artistsList.Clear();
            try
            {
                var artists = await artistService.Get <List <MArtist> >(request);

                foreach (var artist in artists)
                {
                    artistsList.Add(new ArtistVM(artist));
                }
            }
            catch (Exception)
            {
            }
        }
        public async Task Init(ArtistSearchRequest request = null)
        {
            try
            {
                var userId = SignedInUser.User.UserID;
                artistList.Clear();
                var artists = await artistService.GetLikedArtists(userId, request);

                foreach (var artist in artists)
                {
                    artistList.Add(new ArtistVM(artist));
                }
            }
            catch
            {
            }
        }
Beispiel #10
0
        public async Task Init(ArtistSearchRequest request = null)
        {
            ArtistsList.Clear();
            try
            {
                var UserID = SignedInUserHelper.User.ID;

                var artists = await _service.GetActivityArtists(UserID, request);

                foreach (var artist in artists)
                {
                    ArtistsList.Add(artist);
                }
            }
            catch
            {
            }
        }
Beispiel #11
0
        public async Task Init(ArtistSearchRequest request = null)
        {
            ArtistsList.Clear();
            try
            {
                int ID = SignedInUserHelper.User.ID;

                var artists = await _service.GetFavouriteArtists(ID, request);

                foreach (var artist in artists)
                {
                    ArtistsList.Add(new ArtistViewModel(artist));
                }
            }
            catch
            {
            }
        }
        private async Task LoadList(ArtistSearchRequest request)
        {
            var list = await _apiService.Get <List <Model.Track> >(request);

            if (list.Count > 0)
            {
                dgvArtists.ColumnCount = 0;
                DataGridViewHelper.PopulateWithList(dgvArtists, list, _props);

                _page = request.Page;
            }
            else if (!string.IsNullOrEmpty(Convert.ToString(txtSearch.Text)) && request.Page == 1)
            {
                dgvArtists.ColumnCount = 0;
                DataGridViewHelper.PopulateWithList(dgvArtists, list, _props);

                _page = 1;
            }

            btnPageNumber.Text = Convert.ToString(_page);
        }
        private async Task Search(object query)
        {
            string queryString = query as string;

            SearchQuery = queryString;
            if (!string.IsNullOrEmpty(queryString))
            {
                var request = new ArtistSearchRequest()
                {
                    Name = queryString
                };

                var artistsList = await _artistService.Get <List <Model.Artist> >(request);

                ArtistsList.Clear();
                foreach (var Item in artistsList)
                {
                    ArtistsList.Add(new ArtistViewModel(Item));
                }
            }
        }
Beispiel #14
0
        public async Task <List <Model.Artist> > GetFavouriteArtists(int id, ArtistSearchRequest request)
        {
            var query = _context.UserFavouriteArtists
                        .Where(i => i.UserID == id)
                        .Select(i => i.Artist)
                        .AsQueryable();


            if (!string.IsNullOrWhiteSpace(request?.Name))
            {
                query = query.Where(x => x.Name.StartsWith(request.Name));
            }

            query = query.Skip((request.Page - 1) * request.ItemsPerPage);
            if (request.ItemsPerPage > 0)
            {
                query = query.Take(request.ItemsPerPage);
            }

            var list = await query.ToListAsync();

            return(_mapper.Map <List <Model.Artist> >(list));
        }
 public async Task <List <Artist> > GetFavouriteArtists(int id, [FromQuery] ArtistSearchRequest request)
 {
     return(await _service.GetFavouriteArtists(id, request));
 }
Beispiel #16
0
        public async Task <List <Model.UserActivityArtist> > GetActivityArtists(int id, ArtistSearchRequest request)
        {
            var query = _context.UserActivityArtists
                        .Where(i => i.UserID == id)
                        .Include(i => i.Artist)
                        .OrderByDescending(i => i.InteractedAt)
                        .AsQueryable();


            if (!string.IsNullOrWhiteSpace(request?.Name))
            {
                query = query.Where(x => x.Artist.Name.StartsWith(request.Name));
            }

            query = query.Skip((request.Page - 1) * request.ItemsPerPage);
            if (request.ItemsPerPage > 0)
            {
                query = query.Take(request.ItemsPerPage);
            }

            var list = await query.ToListAsync();


            return(_mapper.Map <List <Model.UserActivityArtist> >(list));
        }
Beispiel #17
0
 public async Task <List <MArtist> > GetLikedArtists(int ID, [FromQuery] ArtistSearchRequest request)
 {
     return(await _service.GetLikedArtists(ID, request));
 }
 public async Task <List <UserActivityArtist> > GetActivityArtists(int id, [FromQuery] ArtistSearchRequest request)
 {
     return(await _service.GetActivityArtists(id, request));
 }