Exemple #1
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();
     }
 }
Exemple #2
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();
     }
 }
Exemple #3
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();
     }
 }
Exemple #4
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();
     }
 }
Exemple #5
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();
     }
 }
Exemple #6
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();
     }
 }
Exemple #7
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();
     }
 }
Exemple #8
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();
     }
 }
Exemple #9
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();
         }
     }
 }
Exemple #10
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();
         }
     }
 }
Exemple #11
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 = "";
 }
Exemple #12
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();
         }
     }
 }
Exemple #13
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 = "";
 }
Exemple #14
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();
                }
            }
        }
Exemple #15
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 = "";
             }
         }
     }
 }
Exemple #16
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 = "";
                        }
                    }
                }
            }
        }