Ejemplo n.º 1
0
        private async Task Search(object query)
        {
            var request = new TrackSearchRequest()
            {
                Name = query as string
            };

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

            await LoadList(request);
        }
        private async void btnNextAllTracks_Click(object sender, EventArgs e)
        {
            var request = new TrackSearchRequest()
            {
                Page         = _allTracksPage + 1,
                ItemsPerPage = _itemsPerPage
            };

            await LoadListAllTracks(request);
        }
        private void btnNextPlaylistTracks_Click(object sender, EventArgs e)
        {
            var request = new TrackSearchRequest()
            {
                Page         = _playlistTracksPage + 1,
                ItemsPerPage = _itemsPerPage
            };

            LoadListPlaylistTracks(request);
        }
Ejemplo n.º 5
0
        private async void btnSearch_Click(object sender, EventArgs e)
        {
            var search  = txtSearch.Text;
            var request = new TrackSearchRequest()
            {
                Name = search
            };

            await LoadList(request);
        }
        private async void ucAlbumUpsert_Load(object sender, EventArgs e)
        {
            var artists = await _artistApiService.Get <List <Model.Artist> >(null);

            cbArtist.DataSource    = artists;
            cbArtist.ValueMember   = "ID";
            cbArtist.DisplayMember = "Name";

            BuildAllTracksList();
            BuildAlbumTracksList();

            var tracksRequest = new TrackSearchRequest()
            {
                Page         = _allTracksPage,
                ItemsPerPage = _itemsPerPage
            };

            await LoadListAllTracks(tracksRequest);

            if (_ID.HasValue)
            {
                _album = await _albumApiService.GetById <Model.Album>(_ID.Value);

                txtName.Text        = _album.Name;
                txtReleaseYear.Text = _album.ReleaseYear.ToString();

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

                cbArtist.SelectedItem = artists.Where(i => i.ID == _album.ArtistID).SingleOrDefault();

                _albumTracks = await _albumApiService.GetTracks <List <Model.Track> >(_ID.Value, null);

                var request = new TrackSearchRequest()
                {
                    Page         = _albumTracksPage,
                    ItemsPerPage = _itemsPerPage
                };

                LoadListAlbumTracks(request);
            }
            else
            {
                DataGridViewHelper.PopulateWithList(dgvAlbumTracks, _albumTracks, props);
            }


            SetButtonSavePosition();
        }
        private void btnNextAlbumTracks_Click(object sender, EventArgs e)
        {
            var search = Convert.ToString(txtSearchAlbumTracks.Text);

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

            LoadListAlbumTracks(request);
        }
Ejemplo n.º 8
0
        public async Task <List <MTrack> > GetTracks(int ID, TrackSearchRequest request)
        {
            var query = _context.AlbumTracks
                        .Include(i => i.Track)
                        .ThenInclude(i => i.Artist)
                        .Where(i => i.AlbumID == ID)
                        .Select(i => i.Track)
                        .AsQueryable();

            var list = await query.ToListAsync();

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

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

            await LoadListAllTracks(request);
        }
Ejemplo n.º 10
0
        public async Task Init(TrackSearchRequest request = null)
        {
            TracksList.Clear();
            try
            {
                var tracks = await _service.GetTracks <List <Track> >(Playlist.ID, request);

                foreach (var track in tracks)
                {
                    TracksList.Add(new TrackViewModel(track));
                }
            }
            catch
            {
            }
        }
        private async void btnPreviousTracks_Click(object sender, EventArgs e)
        {
            if (_tracksPage > 1)
            {
                var search = Convert.ToString(txtSearchTracks.Text);

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

                await LoadListTracks(request);
            }
        }
Ejemplo n.º 12
0
        public async Task Init(TrackSearchRequest request = null)
        {
            tracksList.Clear();
            try
            {
                var tracks = await albumService.GetTracks <List <MTrack> >(Album.AlbumID, request);

                foreach (var track in tracks)
                {
                    tracksList.Add(new TrackVM(track));
                }
            }
            catch
            {
            }
        }
Ejemplo n.º 13
0
        public async Task Init(TrackSearchRequest request = null)
        {
            try
            {
                var userId = SignedInUser.User.UserID;
                tracksList.Clear();
                var tracks = await trackService.GetLikedTracks(userId, request);

                foreach (var track in tracks)
                {
                    tracksList.Add(new TrackVM(track));
                }
            }
            catch (Exception)
            {
            }
        }
Ejemplo n.º 14
0
        public async Task <List <MTrack> > GetLikedTracks(int ID, TrackSearchRequest request)
        {
            var query = _context.UserLikedTracks
                        .Include(i => i.Track)
                        .ThenInclude(i => i.Artist)
                        .Where(i => i.UserID == ID)
                        .AsQueryable();

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

            var list = await query.ToListAsync();

            return(_mapper.Map <List <MTrack> >(list.Select(i => i.Track).ToList()));
        }
Ejemplo n.º 15
0
        public async Task Init()
        {
            try
            {
                if (genreList.Count == 0)
                {
                    var genres = await genreService.Get <List <MGenre> >(null);

                    foreach (var genre in genres)
                    {
                        genreList.Add(genre);
                    }
                }
                if (SelectedGenre != null)
                {
                    TrackSearchRequest search = new TrackSearchRequest
                    {
                        GenreID = SelectedGenre.GenreID
                    };
                    tracksList.Clear();
                    var tracks = await trackService.Get <List <MTrack> >(search);

                    var albums = await albumService.Get <List <MAlbum> >(search);

                    foreach (var album in albums)
                    {
                        if (album.Price == 0)
                        {
                            foreach (var track in album.AlbumTracks)
                            {
                                foreach (var x in tracks)
                                {
                                    if (x.TrackID == track.TrackID)
                                    {
                                        tracksList.Add(new TrackVM(x));
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
            }
        }
        private async void ucPlaylistUpsert_Load(object sender, EventArgs e)
        {
            BuildAllTracksList();
            BuildPlaylistTracksList();

            var tracksRequest = new TrackSearchRequest()
            {
                Page         = _allTracksPage,
                ItemsPerPage = _itemsPerPage
            };

            await LoadListAllTracks(tracksRequest);

            if (_ID.HasValue)
            {
                _playlist = await _playlistApiService.GetById <Model.Playlist>(_ID.Value);

                txtName.Text      = _playlist.Name;
                txtCreatedAt.Text = _playlist.CreatedAt;
                txtOwner.Text     = _playlist.User.Username;

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

                _playlistTracks = await _playlistApiService.GetTracks <List <Model.Track> >(_ID.Value, null);

                var request = new TrackSearchRequest()
                {
                    Page         = _playlistTracksPage,
                    ItemsPerPage = _itemsPerPage
                };

                LoadListPlaylistTracks(request);
            }
            else
            {
                DataGridViewHelper.PopulateWithList(dgvPlaylistTracks, _playlistTracks, props);
            }


            SetButtonSavePosition();
        }
Ejemplo n.º 17
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 TrackSearchRequest()
                {
                    GenreID = genreID
                };
                await LoadList(request);
            }
        }
Ejemplo n.º 18
0
        public async Task Init(TrackSearchRequest request = null)
        {
            TracksList.Clear();
            try
            {
                int ID = SignedInUserHelper.User.ID;

                var tracks = await _service.GetFavouriteTracks(ID, request);

                foreach (var track in tracks)
                {
                    TracksList.Add(new TrackViewModel(track));
                }
            }
            catch
            {
            }
        }
        public async Task Init(TrackSearchRequest request = null)
        {
            TracksList.Clear();
            try
            {
                var UserID = SignedInUserHelper.User.ID;

                var tracks = await _service.GetActivityTracks(UserID, request);

                foreach (var track in tracks)
                {
                    TracksList.Add(track);
                }
            }
            catch
            {
            }
        }
Ejemplo n.º 20
0
        public object Get(TrackSearchRequest trackSearchRequest)
        {
            if (trackSearchRequest.PageSize < 1)
            {
                trackSearchRequest.PageSize = 10;
            }

            if (string.IsNullOrEmpty(trackSearchRequest.CountryCode))
            {
                trackSearchRequest.CountryCode = "GB";
            }

            var releaseTracks = _trachSearch.WithParameter("country", trackSearchRequest.CountryCode)
                                .WithQuery(trackSearchRequest.Query)
                                .WithParameter("imagesize", "50")
                                .WithPageSize(trackSearchRequest.PageSize)
                                .Please();

            return(releaseTracks.Results.Select(x => x.Track).ToList());
        }
        private async Task Search(object query)
        {
            string queryString = query as string;

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

                var artistsList = await _trackService.Get <List <Model.Track> >(request);

                TracksList.Clear();
                foreach (var Item in artistsList)
                {
                    TracksList.Add(new TrackViewModel(Item));
                }
            }
        }
        private async Task LoadListAllTracks(TrackSearchRequest request)
        {
            var list = await _trackApiService.Get <List <Model.Track> >(request);

            if (list.Count > 0)
            {
                dgvAllTracks.ColumnCount = 0;
                DataGridViewHelper.PopulateWithList(dgvAllTracks, list, props);

                _allTracksPage = request.Page;
            }
            else if (!string.IsNullOrEmpty(Convert.ToString(txtSearchAllTracks.Text)) && request.Page == 1)
            {
                dgvAllTracks.ColumnCount = 0;
                DataGridViewHelper.PopulateWithList(dgvAllTracks, list, props);

                _allTracksPage = 1;
            }

            btnPageNumberAllTracks.Text = Convert.ToString(_allTracksPage);
        }
        private void btnRemoveTrack_Click(object sender, EventArgs e)
        {
            try
            {
                var selectedRow = dgvAlbumTracks.CurrentRow;

                var track = _albumTracks.Single(i => i.ID == Convert.ToInt32(selectedRow.Cells["ID"].Value));
                _albumTracks.Remove(track);

                var request = new TrackSearchRequest()
                {
                    Page         = _albumTracksPage,
                    ItemsPerPage = _itemsPerPage
                };
                LoadListAlbumTracks(request);
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message);
            }
        }
        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();
            }
        }
Ejemplo n.º 25
0
        public async Task <List <Model.Track> > GetFavouriteTracks(int id, TrackSearchRequest request)
        {
            var query = _context.UserFavouriteTracks
                        .Include(i => i.Track.TrackArtists)
                        .ThenInclude(i => i.Artist)
                        .Where(i => i.UserID == id)
                        .AsQueryable();

            if (!string.IsNullOrWhiteSpace(request?.Name))
            {
                query = query.Where(x => x.Track.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.Track> >(list.Select(i => i.Track).ToList()));
        }
Ejemplo n.º 26
0
 public async Task <List <Track> > GetTracks(int id, [FromQuery] TrackSearchRequest request)
 {
     return(await _service.GetTracks(id, request));
 }
Ejemplo n.º 27
0
 public async Task <List <MTrack> > GetLikedTracks(int ID, [FromQuery] TrackSearchRequest request)
 {
     return(await _service.GetLikedTracks(ID, request));
 }