public void ArtistSetName(string currentName, string newName) { using (var db = new DecibaseContext()) { var artist = db.Artists.First(a => a.Name == currentName); artist.Name = newName; db.SaveChanges(); } }
public void AlbumSetTotalDiscs(string albumTitle, string number) { using (var db = new DecibaseContext()) { var album = db.Albums.First(a => a.Title == albumTitle); album.TotalDiscs = number; db.SaveChanges(); } }
public void AlbumSetYear(string albumTitle, string year) { using (var db = new DecibaseContext()) { var album = db.Albums.First(a => a.Title == albumTitle); album.Year = year; db.SaveChanges(); } }
public void TrackSetGenre(string trackTitle, string genre) { using (var db = new DecibaseContext()) { var track = db.Tracks.First(t => t.Title == trackTitle); track.Genre = genre; db.SaveChanges(); } }
public void AlbumSetTitle(string currentTitle, string newTitle) { using (var db = new DecibaseContext()) { var album = db.Albums.First(a => a.Title == currentTitle); album.Title = newTitle; db.SaveChanges(); } }
public void TrackSetDiscNumber(string trackTitle, string number) { using (var db = new DecibaseContext()) { var track = db.Tracks.First(t => t.Title == trackTitle); track.DiscNumber = number; db.SaveChanges(); } }
public void TrackSetTitle(string currentTitle, string newTitle) { using (var db = new DecibaseContext()) { var track = db.Tracks.First(t => t.Title == currentTitle); track.Title = newTitle; db.SaveChanges(); } }
public void TrackSetAlbum(string trackTitle, string albumTitle) { using (var db = new DecibaseContext()) { var track = db.Tracks.First(t => t.Title == trackTitle); var album = db.Albums.First(a => a.Title == albumTitle); track.Album = album; db.SaveChanges(); } }
public void AddNewArtist(string name) { using (var db = new DecibaseContext()) { var newArtist = new Artist { Name = name }; if (!db.Artists.ToList().Contains(newArtist)) { db.Add(newArtist); db.SaveChanges(); } } }
public void AddNewAlbum(string title) { using (var db = new DecibaseContext()) { var newAlbum = new Album { Title = title }; if (!db.Albums.ToList().Contains(newAlbum)) { db.Add(newAlbum); db.SaveChanges(); } } }
public void DeleteTrack(string trackTitle) { using (var db = new DecibaseContext()) { var track = db.Tracks.First(t => t.Title == trackTitle); var albumTitle = GetTrackAlbum(trackTitle); var album = db.Albums.Include(a => a.Tracks).First(a => a.Title == albumTitle); var artistNames = RetrieveTrackArtistNames(trackTitle); foreach (var artistName in artistNames) { UnjoinTrackFromArtist(trackTitle, artistName); } db.Remove(track); db.SaveChanges(); if (album.Tracks.Count == 0) { db.Remove(album); SelectedAlbum = ""; } db.SaveChanges(); } SelectedTrack = ""; }
public void AddNewTrack(string title, string albumTitle) { using (var db = new DecibaseContext()) { AddNewAlbum(albumTitle); var album = db.Albums.First(a => a.Title == albumTitle); var newTrack = new Track { Title = title, Album = album }; if (!db.Tracks.ToList().Contains(newTrack)) { db.Add(newTrack); db.SaveChanges(); } } }
public void DeleteAlbum(string albumTitle) { using (var db = new DecibaseContext()) { var albumTracks = RetrieveAlbumTrackTitles(albumTitle); foreach (var track in albumTracks) { DeleteTrack(track); } if (albumTracks.Count == 0) { var album = db.Albums.First(a => a.Title == albumTitle); db.Remove(album); db.SaveChanges(); } } SelectedAlbum = ""; }
public void JoinTrackToArtist(string trackTitle, string artistName) { using (var db = new DecibaseContext()) { var track = db.Tracks.First(t => t.Title == trackTitle); var artist = db.Artists.First(a => a.Name == artistName); if (db.TrackArtists.FirstOrDefault(ta => ta.TrackId == track.TrackId && ta.ArtistId == artist.ArtistId) == null) { var ta = new TrackArtist_Junction() { TrackId = track.TrackId, ArtistId = artist.ArtistId }; db.Add(ta); db.SaveChanges(); } } }
public void DeleteArtist(string artistName) { using (var db = new DecibaseContext()) { var artistTracks = RetrieveArtistTrackTitles(artistName); foreach (var track in artistTracks) { DeleteTrack(track); } if (artistTracks.Count == 0) { var artist = db.Artists.First(a => a.Name == artistName); db.Remove(artist); db.SaveChanges(); if (SelectedArtist == artist.Name) { SelectedArtist = ""; } } } }
public void UnjoinTrackFromArtist(string trackTitle, string artistName) { using (var db = new DecibaseContext()) { var track = db.Tracks.First(t => t.Title == trackTitle); var artist = db.Artists.First(a => a.Name == artistName); if (db.TrackArtists.FirstOrDefault(ta => ta.TrackId == track.TrackId && ta.ArtistId == artist.ArtistId) != null) { var ta = db.TrackArtists.First(ta => ta.TrackId == track.TrackId && ta.ArtistId == artist.ArtistId); db.Remove(ta); db.SaveChanges(); if (RetrieveArtistTrackTitles(artistName).Count == 0) { db.Remove(artist); if (SelectedArtist == artist.Name) { SelectedArtist = ""; } } } } }