public SongAlbum Delete(SongAlbum SongAlbum) { var result = _context.Remove(SongAlbum); _context.SaveChanges(); return(result.Entity); }
public SongAlbum Create(SongAlbum SongAlbum) { var result = _context.Add <SongAlbum>(SongAlbum); _context.SaveChanges(); return(result.Entity); }
private void UpdateSongAlbums(string[] selectedAlbums, Song songToUpdate) { if (selectedAlbums == null) { songToUpdate.SongAlbums = new List <SongAlbum>(); return; } var selectedAlbumsHS = new HashSet <string>(selectedAlbums); var songAlbums = new HashSet <int> (songToUpdate.SongAlbums.Select(c => c.Album.AlbumID)); foreach (var album in repository.Albums()) { if (selectedAlbumsHS.Contains(album.AlbumID.ToString())) { if (!songAlbums.Contains(album.AlbumID)) { songToUpdate.SongAlbums.Add(new SongAlbum { SongID = songToUpdate.SongID, AlbumID = album.AlbumID }); } } else { if (songAlbums.Contains(album.AlbumID)) { SongAlbum SongAlbumToRemove = songToUpdate.SongAlbums.FirstOrDefault(i => i.AlbumID == album.AlbumID); repository.DeleteSongAlbum(SongAlbumToRemove); } } } }
public void Post(AlbumDTO value) { Album model = new Album() { Name = value.Name, ReleaseYear = value.ReleaseYear, StudioId = value.StudioId }; IAlbumRepository.Create(model); for (int i = 0; i < value.ArtistId.Count; i++) { ArtistAlbum ArtistAlbum = new ArtistAlbum() { AlbumId = model.Id, ArtistId = value.ArtistId[i] }; IArtistAlbumRepository.Create(ArtistAlbum); } for (int i = 0; i < value.SongId.Count; i++) { SongAlbum SongAlbum = new SongAlbum() { AlbumId = model.Id, SongId = value.ArtistId[i] }; ISongAlbumRepository.Create(SongAlbum); } }
public ViewResult RemoveSongAlbum(int?id) { SongAlbum sa = repository.SongAlbums().Single(a => a.SongAlbumID == id); repository.DeleteSongAlbum(sa); repository.SaveContext(); return(View()); }
public SongAlbum Post(SongAlbumDTO value) { SongAlbum model = new SongAlbum() { SongId = value.SongId, AlbumId = value.AlbumId }; return(ISongAlbumsRepository.Create(model)); }
public void Put(int id, AlbumDTO value) { Album model = IAlbumRepository.Get(id); if (value.Name != null) { model.Name = value.Name; } if (value.ReleaseYear != 0) { model.ReleaseYear = value.ReleaseYear; } if (value.StudioId != 0) { model.StudioId = value.StudioId; } IAlbumRepository.Update(model); if (value.ArtistId != null) { IEnumerable <ArtistAlbum> MyArtistAlbums = IArtistAlbumRepository.GetAll().Where(x => x.AlbumId == id); foreach (ArtistAlbum MyArtistAlbum in MyArtistAlbums) { IArtistAlbumRepository.Delete(MyArtistAlbum); } for (int i = 0; i < value.ArtistId.Count; i++) { ArtistAlbum ArtistAlbum = new ArtistAlbum() { AlbumId = model.Id, ArtistId = value.ArtistId[i] }; IArtistAlbumRepository.Create(ArtistAlbum); } } if (value.SongId != null) { IEnumerable <SongAlbum> MySongAlbums = ISongAlbumRepository.GetAll().Where(x => x.AlbumId == id); foreach (SongAlbum MySongAlbum in MySongAlbums) { ISongAlbumRepository.Delete(MySongAlbum); } for (int i = 0; i < value.SongId.Count; i++) { SongAlbum SongAlbum = new SongAlbum() { AlbumId = model.Id, SongId = value.ArtistId[i] }; ISongAlbumRepository.Create(SongAlbum); } } }
public SongAlbum Put(int id, SongAlbumDTO value) { SongAlbum model = ISongAlbumsRepository.Get(id); if (value.SongId != 0) { model.SongId = value.SongId; } if (value.AlbumId != 0) { model.AlbumId = value.AlbumId; } return(ISongAlbumsRepository.Update(model)); }
public SongAlbum Get(int id) { SongAlbum album = new SongAlbum(); var songs = Functions.GetSongs(); foreach (var item in songs) { if (item.Id == id) { album.Id = item.Id; album.Album = item.Album; album.Picture = item.Picture; album.Artist = item.Artist; album.Genre = item.Genre; album.Year = item.Year; album.Next = songs.Where(a => a.Album == album.Album).OrderBy(a => a.Track).Where(a => a.Track > item.Track).FirstOrDefault(); album.Previous = songs.Where(a => a.Album == album.Album).Where(a => a.Track == (item.Track - 1)).FirstOrDefault(); break; } } if (album.Next == null) { album.Next = songs.Where(a => a.Album == album.Album).OrderBy(a => a.Track).First(); } if (album.Previous == null) { album.Previous = songs.Where(a => a.Album == album.Album).OrderBy(a => a.Track).Last(); } album.Songs = songs.Where(a => a.Album == album.Album).OrderBy(a => a.Track).ToList(); return(album); }
public SongAlbum Update(SongAlbum SongAlbum) { _context.Entry(SongAlbum).State = Microsoft.EntityFrameworkCore.EntityState.Modified; _context.SaveChanges(); return(SongAlbum); }
public override IEnumerable <IResult> SaveChanges() { if (SongTitle.Trim() == string.Empty) { MessageBox.Show("Please provide an Song Title.", "Error", MessageBoxButton.OK); yield return(null); } foreach (RawTrack media in MediaList) { try { if (SongTitle.Trim() != "Multiple Titles") { media.TrackTitle = SongTitle.Trim(); } if (SongAlbum.Trim() != "Multiple Albums") { media.AlbumTitle = SongAlbum.Trim(); } //if (SongComposer.Trim() != "Multiple Composers") //{ // var composers = new List<string>(); // foreach (string composer in SongComposer.Trim().Split(';')) // { // if (composer != null) // { // if (composer.Trim() != string.Empty) // composers.Add(composer.Trim()); // } // } // media.Composers = composers.ToArray(); //} if (SongAlbumArtist.Trim() != "Multiple Artists") { media.ArtistName = SongAlbumArtist.Trim(); } if (SongGenre.Trim() != "Multiple Genres") { media.Genre = SongGenre.Trim(); } if (SongYear != -1) { media.Year = SongYear; } if (SongId != -1) { media.TrackNumber = SongId; } if (media is Mp3Track) { (media as Mp3Track).WriteTag(); } } catch { MessageBox.Show("Could not update " + media, "Error", MessageBoxButton.OK); } } yield return(new CloseResult()); }
public override IEnumerable <IResult> SaveChanges() { if (string.IsNullOrEmpty(SongAlbum)) { MessageBox.Show("Please provide an Album Name.", "Error", MessageBoxButton.OK); yield return(null); } if (string.IsNullOrEmpty(SongAlbumArtist)) { MessageBox.Show("Please provide an Artist Name.", "Error", MessageBoxButton.OK); yield return(null); } foreach (RawTrack media in MediaList) { try { bool hasChanged = false; if (SongAlbum.Trim() != "Multiple Album Titles") { media.AlbumTitle = SongAlbum.Trim(); hasChanged = true; } if (SongAlbumArtist.Trim() != "Multiple Album Artists") { media.ArtistName = SongAlbumArtist.Trim(); hasChanged = true; } if (SongGenre != "Multiple Genres") { if (media.Genre != SongGenre.Trim()) { media.Genre = SongGenre.Trim(); hasChanged = true; } } if (SongYear != -1) { if (media.Year != SongYear) { media.Year = SongYear; hasChanged = true; } } //TODO:media factory if (hasChanged) { if (media is Mp3Track) { (media as Mp3Track).WriteTag(); } } } catch { MessageBox.Show("Could not update " + media, "Error", MessageBoxButton.OK); } } yield return(new CloseResult()); }
public SongAlbum Delete(int id) { SongAlbum model = ISongAlbumsRepository.Get(id); return(ISongAlbumsRepository.Delete(model)); }