Ejemplo n.º 1
0
        public void SongEdit(Models.Song song)
        {
            var dbSong = SongMapper.ToDatabase(song);

            _dbContext.Song.Update(dbSong);
            _dbContext.SaveChanges();
        }
Ejemplo n.º 2
0
        public void Save(Models.Song song)
        {
            var dbSong = SongMapper.ToDatabase(song);

            _dbContext.Song.Add(dbSong);
            _dbContext.SaveChanges();
        }
Ejemplo n.º 3
0
        public void UpdateSongsList()
        {
            Models.Song currentSong = CurrentSong;
            Songs = FileManager.ReadFile();
            Songs.Reverse();

            if (currentSong != null)
            {
                Models.Song songCur = Songs.Find(song => song.Id.Equals(currentSong.Id));
                currentSongIndex = Songs.IndexOf(songCur);
            }
        }
Ejemplo n.º 4
0
        private async Task LoadTrack()
        {
            //`this.LoadingProgress.IsVisible = true;
            //get first song from favourites

            _song = await _scoreService.FetchSongDetailsAsync(SelectedSong.ID);

            //load gp score
            _score = await _scoreService.FetchSongScore(_song, true);

            if (_score == null)
            {
                await DisplayAlert("Load failed", "Could not load song. Check internet connection", "OK");

                return;
            }
            var mostPopularTrack = _song.LatestAvailableRevision?.MostPopularTrack?.ID != null?_song.LatestAvailableRevision.Tracks.FirstOrDefault(t => t.ID == _song.LatestAvailableRevision?.MostPopularTrack?.ID) : null;

            // this.trackPicker.Items.Clear();
            Track selectedTrack = null;

            List <string> tracks     = new List <string>();
            int           trackIndex = 0;

            foreach (var t in _score.Tracks)
            {
                tracks.Add(t.Name);
                // this.trackPicker.Items.Add(t.Name);
                trackPicker.Items.Add(t.Name);

                if (_song.LatestAvailableRevision?.MostPopularTrack?.ID != null)
                {
                    if (mostPopularTrack != null && t.Name == mostPopularTrack.Title)
                    {
                        selectedTrack       = t;
                        _selectedTrackIndex = trackIndex;
                    }
                }
                trackIndex++;
            }

            if (selectedTrack == null)
            {
                selectedTrack = _score.Tracks[0];
            }

            trackPicker.SelectedIndex = _selectedTrackIndex;

            //SetCurrentTrack(selectedTrack);
        }
Ejemplo n.º 5
0
        public static Song FromDBObject(Models.Song dbSong, Models.mediadbContext dbContext)
        {
            int set     = (int)(dbSong.Set ?? 0);
            var artists = from artistSong in dbContext.ArtistSong
                          where artistSong.SongHash == dbSong.Hash
                          join artist in dbContext.Artist on artistSong.ArtistName equals artist.Name
                          where artist.Name != "unknown"
                          select new Artist(artist.Name, artist.NiceName);

            var albums = from album in dbContext.Album
                         where album.ArtistName == dbSong.AlbumArtistName && album.Name == dbSong.AlbumName
                         join artist in dbContext.Artist on album.ArtistName equals artist.Name
                         select new Album(album.Name, album.Title, new Artist(artist.Name, artist.NiceName));

            var resultAlbum = albums.Count() > 0 ? albums.First() : (Album?)null;

            return(new Song(dbSong.Hash, dbSong.Title, (float)dbSong.Length, (int)dbSong.Track, set, dbSong.Genre, dbSong.Path, resultAlbum, artists));
        }
Ejemplo n.º 6
0
        public void SaveTrack(Zirpl.Spotify.MetadataApi.Track track, Zirpl.Spotify.MetadataApi.Artist artist)
        {
            var result = new SpotifyMetadataApiClient().LookupTrack(track.Href);
            MusicApp.Models.Song s = new Models.Song();
            s.Name = track.Name;
            s.Href = track.Href;
            s.Length = track.Length;
            s.Href = track.Href;
            s.ArtistId = result.Artists.First().Href;
            s.AlbumID = result.Album.Href;
            s.Popularity = track.Popularity;

            //if (ModelState.IsValid)
            {
                db.Songs.Add(s);
            }
        }