public string GetAlbumYear(string albumTitle) { using (var db = new DecibaseContext()) { var album = db.Albums.FirstOrDefault(a => a.Title == albumTitle); return(album.Year); } }
public string GetTotalDiscs(string albumTitle) { using (var db = new DecibaseContext()) { var album = db.Albums.FirstOrDefault(a => a.Title == albumTitle); return(album.TotalDiscs); } }
public string GetTrackGenre(string trackTitle) { using (var db = new DecibaseContext()) { var track = db.Tracks.FirstOrDefault(t => t.Title == trackTitle); return(track.Genre); } }
public string GetTrackAlbum(string trackTitle) { using (var db = new DecibaseContext()) { var track = db.Tracks.Include(t => t.Album).FirstOrDefault(t => t.Title == trackTitle); return(track.Album.Title); } }
public string GetDiscNumber(string trackTitle) { using (var db = new DecibaseContext()) { var track = db.Tracks.FirstOrDefault(t => t.Title == trackTitle); return(track.DiscNumber); } }
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 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 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 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 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 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 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 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 List <string> RetrieveArtistTrackTitles(string artistName) { using (var db = new DecibaseContext()) { var artistTracks = db.Artists.Include(a => a.Tracks).ThenInclude(ta => ta.Track).First(a => a.Name == artistName).Tracks.Select(ta => ta.Track).ToList(); var artistTrackTitles = new List <string>(); foreach (var track in artistTracks) { artistTrackTitles.Add(track.Title); } return(artistTrackTitles); } }
public List <string> RetrieveAllTrackTitles() { using (var db = new DecibaseContext()) { var tracks = db.Tracks.ToList(); var trackTitles = new List <String>(); foreach (var track in tracks) { trackTitles.Add(track.Title); } return(trackTitles); } }
public List <string> RetrieveTrackArtistNames(string trackTitle) { using (var db = new DecibaseContext()) { var trackArtists = db.Tracks.Include(t => t.Artists).ThenInclude(ta => ta.Artist).First(t => t.Title == trackTitle).Artists.Select(ta => ta.Artist).ToList(); var trackArtistNames = new List <string>(); foreach (var artist in trackArtists) { trackArtistNames.Add(artist.Name); } return(trackArtistNames); } }
public List <string> RetrieveAllArtistNames() { using (var db = new DecibaseContext()) { var artists = db.Artists.ToList(); var artistNames = new List <String>(); foreach (var artist in artists) { artistNames.Add(artist.Name); } return(artistNames); } }
public List <string> RetrieveAllAlbumTitles() { using (var db = new DecibaseContext()) { var albums = db.Albums.ToList(); var albumTitles = new List <String>(); foreach (var album in albums) { albumTitles.Add(album.Title); } return(albumTitles); } }
public List <string> RetrieveAlbumTrackTitles(string albumTitle) { using (var db = new DecibaseContext()) { var albumTracks = db.Tracks.Include(t => t.Album).Where(t => t.Album.Title == albumTitle).ToList(); var albumTrackTitles = new List <string>(); foreach (var track in albumTracks) { albumTrackTitles.Add(track.Title); } return(albumTrackTitles); } }
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 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 DeleteUnusedArtists() { using (var db = new DecibaseContext()) { var artists = RetrieveAllArtistNames(); var emptyArtists = new List <string>(); foreach (var artist in artists) { if (RetrieveArtistTrackTitles(artist).Count == 0) { emptyArtists.Add(artist); } } foreach (var artist in emptyArtists) { DeleteArtist(artist); } } }
public List <string> RetrieveAlbumArtistNames(string albumTitle) { using (var db = new DecibaseContext()) { var album = db.Albums.Include(a => a.Tracks).First(a => a.Title == albumTitle); var albumArtists = new List <string>(); foreach (var track in album.Tracks) { var trackArtists = RetrieveTrackArtistNames(track.Title); foreach (var artist in trackArtists) { if (!albumArtists.Contains(artist)) { albumArtists.Add(artist); } } } return(albumArtists); } }
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 = ""; } } } } }
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 = ""; }