Exemplo n.º 1
0
        public async Task Init()
        {
            try
            {
                if (genresList.Count == 0)
                {
                    var genres = await genreService.Get <List <MGenre> >(null);

                    foreach (var genre in genres)
                    {
                        genresList.Add(genre);
                    }
                }
                if (SelectedGenre != null)
                {
                    AlbumSearchRequest search = new AlbumSearchRequest
                    {
                        GenreID = SelectedGenre.GenreID
                    };
                    albumsList.Clear();
                    var albumsGenre = await albumService.Get <List <MAlbum> >(search);

                    foreach (var album in albumsGenre)
                    {
                        if (album.Price > 0)
                        {
                            albumsList.Add(album);
                        }
                    }
                }
            }
            catch (Exception)
            {
            }
        }
Exemplo n.º 2
0
        public async Task <T> GetAlbums <T>(int id, AlbumSearchRequest search)
        {
            try
            {
                var url = $"{Properties.Settings.Default.APIUrl}/{_route}/{id}/Albums";

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

                return(await url.WithBasicAuth(Username, Password).GetJsonAsync <T>());
            }
            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)}");
                }

                MessageBox.Show(stringBuilder.ToString(), "Greška", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(default(T));
            }
        }
Exemplo n.º 3
0
        public async Task <List <Model.Album> > GetFavouriteAlbums(int id, AlbumSearchRequest request)
        {
            var query = _context.UserFavouriteAlbums
                        .Where(i => i.UserID == id)
                        .Select(i => i.Album)
                        .Select
                        (
                i => new Database.Album()
            {
                ID          = i.ID,
                Image       = i.Image,
                ReleaseYear = i.ReleaseYear,
                Name        = i.Name,
                Artist      = 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.Album> >(list));
        }
        public async Task <T> GetAlbums <T>(int id, AlbumSearchRequest search)
        {
            try
            {
                var url = $"{APIUrl}/{_route}/{id}/Albums";

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

                return(await url.WithBasicAuth(Username, Password).GetJsonAsync <T>());
            }
            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(T));
            }
        }
Exemplo n.º 5
0
        private async Task LoadList(AlbumSearchRequest request)
        {
            var result = await albumService.Get <List <MAlbum> >(request);

            dgvAlbums.AutoGenerateColumns = false;
            dgvAlbums.ReadOnly            = true;
            dgvAlbums.DataSource          = result;
        }
Exemplo n.º 6
0
        private async void btnSearchAlbum_Click(object sender, EventArgs e)
        {
            AlbumSearchRequest obj = new AlbumSearchRequest {
                Name = txtboxAlbumName.Text
            };

            dgvAlbum.DataSource = await _albumService.Get <List <Album> >(obj, null);
        }
        private async Task Search(object query)
        {
            var request = new AlbumSearchRequest()
            {
                Name = query as string
            };

            await Init(request);
        }
        public List <Album> Get(AlbumSearchRequest album)
        {
            if (album.Name == null)
            {
                return(_context.Album.Include(b => b.Genre).Include(x => x.Performer).ToList());
            }

            return(_context.Album.Include(b => b.Genre).Include(x => x.Performer).Where(x => x.Name.Contains(album.Name)).ToList());
        }
        private async void ucAlbumList_Load(object sender, EventArgs e)
        {
            var request = new AlbumSearchRequest()
            {
                Page         = 1,
                ItemsPerPage = _itemsPerPage
            };

            await LoadList(request);
        }
Exemplo n.º 10
0
        private async void btnSearch_Click(object sender, EventArgs e)
        {
            var search  = txtSearch.Text;
            var request = new AlbumSearchRequest()
            {
                Name = search
            };

            await LoadList(request);
        }
        private async void btnNext_Click(object sender, EventArgs e)
        {
            var request = new AlbumSearchRequest()
            {
                Page         = _page + 1,
                ItemsPerPage = _itemsPerPage,
                Name         = Convert.ToString(txtSearch.Text)
            };

            await LoadList(request);
        }
Exemplo n.º 12
0
        public async Task <List <MAlbum> > GetAlbums(int ID, AlbumSearchRequest request)
        {
            var query = _context.Albums
                        .Include(i => i.AlbumTracks)
                        .Include(i => i.Artist)
                        .Where(i => i.ArtistID == ID)
                        .AsQueryable();

            var list = await query.ToListAsync();

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

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

            await LoadListAlbums(request);
        }
Exemplo n.º 14
0
        public async Task Init(AlbumSearchRequest request = null)
        {
            AlbumsList.Clear();
            try
            {
                var albums = await _service.GetAlbums <List <Album> >(Artist.ID, request);

                foreach (var album in albums)
                {
                    AlbumsList.Add(new AlbumViewModel(album));
                }
            }
            catch
            {
            }
        }
Exemplo n.º 15
0
        public async Task Init(AlbumSearchRequest request = null)
        {
            AlbumsList.Clear();
            try
            {
                var UserID = SignedInUserHelper.User.ID;

                var albums = await _service.GetActivityAlbums(UserID, request);

                foreach (var album in albums)
                {
                    AlbumsList.Add(album);
                }
            }
            catch
            {
            }
        }
Exemplo n.º 16
0
        private async void cbGenreList_SelectedIndexChanged(object sender, EventArgs e)
        {
            var genre   = cbGenreList.SelectedItem as MGenre;
            var genreID = genre.GenreID;

            if (genre.Name == "All Genres")
            {
                await LoadList(null);
            }
            else
            {
                var request = new AlbumSearchRequest()
                {
                    GenreID = genreID
                };
                await LoadList(request);
            }
        }
        public async Task Init(AlbumSearchRequest request = null)
        {
            AlbumsList.Clear();
            try
            {
                int ID = SignedInUserHelper.User.ID;

                var albums = await _service.GetFavouriteAlbums(ID, request);

                foreach (var album in albums)
                {
                    AlbumsList.Add(new AlbumViewModel(album));
                }
            }
            catch
            {
            }
        }
        private async Task LoadList(AlbumSearchRequest request)
        {
            var list = await _apiService.Get <List <Model.Track> >(request);

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

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

                _page = 1;
            }

            btnPageNumber.Text = Convert.ToString(_page);
        }
        public async Task <List <Model.Album> > GetAlbums(int ID, AlbumSearchRequest request)
        {
            var query = _context.Albums
                        .Where(i => i.ArtistID == ID)
                        .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.Album> >(list));
        }
        private async Task LoadListAlbums(AlbumSearchRequest request)
        {
            var list = await _apiService.GetAlbums <List <Model.Album> >(_ID.Value, request);

            if (list.Count > 0)
            {
                dgvAlbums.ColumnCount = 0;
                DataGridViewHelper.PopulateWithList(dgvAlbums, list, albumProps);

                _albumsPage = request.Page;
            }
            else if (!string.IsNullOrEmpty(Convert.ToString(txtSearchAlbums.Text)) && request.Page == 1)
            {
                dgvAlbums.ColumnCount = 0;
                DataGridViewHelper.PopulateWithList(dgvAlbums, list, albumProps);

                _albumsPage = 1;
            }

            btnPageNumberAlbums.Text = Convert.ToString(_albumsPage);
        }
        private async void ucArtistUpsert_Load(object sender, EventArgs e)
        {
            if (_ID.HasValue)
            {
                var artist = await _apiService.GetById <Model.Artist>(_ID.Value);

                txtName.Text = artist.Name;

                if (artist.Image.Length != 0)
                {
                    pbArtistImage.Image    = ImageHelper.ByteArrayToSystemDrawing(artist.Image);
                    pbArtistImage.SizeMode = PictureBoxSizeMode.StretchImage;
                }

                gbAlbums.Visible = true;
                gbTracks.Visible = true;


                BuildAlbumsList();
                var albumRequest = new AlbumSearchRequest()
                {
                    Page         = _albumsPage,
                    ItemsPerPage = _itemsPerPage
                };
                await LoadListAlbums(albumRequest);

                BuildTracksList();
                var trackRequest = new TrackSearchRequest()
                {
                    Page         = _tracksPage,
                    ItemsPerPage = _itemsPerPage
                };
                await LoadListTracks(trackRequest);

                gbTracks.Location = new Point(gbAlbums.Location.X, gbAlbums.Location.Y + gbAlbums.Height);


                SetButtonSavePosition();
            }
        }
Exemplo n.º 22
0
        public async Task <List <Model.UserActivityAlbum> > GetActivityAlbums(int id, AlbumSearchRequest request)
        {
            var query = _context.UserActivityAlbums
                        .Where(i => i.UserID == id)
                        .Include(i => i.Album)
                        .OrderByDescending(i => i.InteractedAt)
                        .AsQueryable();

            if (!string.IsNullOrWhiteSpace(request?.Name))
            {
                query = query.Where(x => x.Album.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.UserActivityAlbum> >(list));
        }
Exemplo n.º 23
0
 public ActionResult <List <Album> > Get([FromQuery] AlbumSearchRequest searchReq)
 {
     return(_service.Get(searchReq));
 }
 public async Task <List <Album> > GetFavouriteAlbums(int id, [FromQuery] AlbumSearchRequest request)
 {
     return(await _service.GetFavouriteAlbums(id, request));
 }
 public async Task <List <UserActivityAlbum> > GetActivityAlbums(int id, [FromQuery] AlbumSearchRequest request)
 {
     return(await _service.GetActivityAlbums(id, request));
 }