Ejemplo n.º 1
0
 public string GetAlbumYear(string albumTitle)
 {
     using (var db = new DecibaseContext())
     {
         var album = db.Albums.FirstOrDefault(a => a.Title == albumTitle);
         return(album.Year);
     }
 }
Ejemplo n.º 2
0
 public string GetTotalDiscs(string albumTitle)
 {
     using (var db = new DecibaseContext())
     {
         var album = db.Albums.FirstOrDefault(a => a.Title == albumTitle);
         return(album.TotalDiscs);
     }
 }
Ejemplo n.º 3
0
 public string GetTrackGenre(string trackTitle)
 {
     using (var db = new DecibaseContext())
     {
         var track = db.Tracks.FirstOrDefault(t => t.Title == trackTitle);
         return(track.Genre);
     }
 }
Ejemplo n.º 4
0
 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);
     }
 }
Ejemplo n.º 5
0
 public string GetDiscNumber(string trackTitle)
 {
     using (var db = new DecibaseContext())
     {
         var track = db.Tracks.FirstOrDefault(t => t.Title == trackTitle);
         return(track.DiscNumber);
     }
 }
Ejemplo n.º 6
0
 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();
     }
 }
Ejemplo n.º 7
0
 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();
     }
 }
Ejemplo n.º 8
0
 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();
     }
 }
Ejemplo n.º 9
0
 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();
     }
 }
Ejemplo n.º 10
0
 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();
     }
 }
Ejemplo n.º 11
0
 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();
     }
 }
Ejemplo n.º 12
0
 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();
     }
 }
Ejemplo n.º 13
0
 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();
     }
 }
Ejemplo n.º 14
0
 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);
     }
 }
Ejemplo n.º 15
0
 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);
     }
 }
Ejemplo n.º 16
0
 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);
     }
 }
Ejemplo n.º 17
0
 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);
     }
 }
Ejemplo n.º 18
0
 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);
     }
 }
Ejemplo n.º 19
0
 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);
     }
 }
Ejemplo n.º 20
0
 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();
         }
     }
 }
Ejemplo n.º 21
0
 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();
         }
     }
 }
Ejemplo n.º 22
0
 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();
         }
     }
 }
Ejemplo n.º 23
0
 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 = "";
 }
Ejemplo n.º 24
0
        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();
                }
            }
        }
Ejemplo n.º 25
0
 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);
         }
     }
 }
Ejemplo n.º 26
0
 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);
     }
 }
Ejemplo n.º 27
0
 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 = "";
             }
         }
     }
 }
Ejemplo n.º 28
0
        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 = "";
                        }
                    }
                }
            }
        }
Ejemplo n.º 29
0
 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 = "";
 }