public void SongEdit(Models.Song song) { var dbSong = SongMapper.ToDatabase(song); _dbContext.Song.Update(dbSong); _dbContext.SaveChanges(); }
public void Save(Models.Song song) { var dbSong = SongMapper.ToDatabase(song); _dbContext.Song.Add(dbSong); _dbContext.SaveChanges(); }
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); } }
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); }
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)); }
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); } }