private void bAddnewAlbum_Click(object sender, EventArgs e) { var albums = db.Albums.ToList().OrderBy(album => album.AlbumId); int id = albums.LastOrDefault().AlbumId + 1; bool albumExists = db.Albums.Any(a => a.Title == tbAlbumTitle.Text); if (twAddAlbums.SelectedNode != null) { if (twAddAlbums.SelectedNode.Tag is Artist artist) { if (!string.IsNullOrEmpty(tbAlbumTitle.Text)) { if (albumExists) { MessageBox.Show("Album already exists!"); } else { Album newAlbum = new Album() { Title = tbAlbumTitle.Text, AlbumId = id, ArtistId = artist.ArtistId }; db.Albums.Add(newAlbum); var result = MessageBox.Show($"Are you sure you want to add '{newAlbum.Title}'," + $" to '{artist.Name}'s albums?", "Save Album", MessageBoxButtons.OKCancel); if (result == DialogResult.OK) { db.SaveChanges(); AddAlbums(); var selectedNode = twAddAlbums.Nodes.Find(artist.Name, false); if (selectedNode != null) { selectedNode[0].Expand(); } tbAlbumTitle.Clear(); } } } else { MessageBox.Show("Album title can't be blank!"); } } } else { MessageBox.Show("Please select artist in the list!"); } }
//Event for adding songs to albums. private void bAddRows_Click(object sender, EventArgs e) { if (activeAlbum != null) { bool trackExists = activeAlbum.Tracks.Any(a => a.Name == tbTrackTitle.Text); if (trackExists) { MessageBox.Show("Track already exists!"); } else { if (IsCorrectString(tbTrackTitle.Text) == true) { var allTracks = db.Tracks.ToList().OrderBy(track => track.TrackId); int newId = allTracks.LastOrDefault().TrackId + 1; if (TimeSpan.TryParseExact(tbTrackMin.Text, "mm\\:ss", null, out TimeSpan result)) { var trackTime = result.TotalMilliseconds; var newTrack = new Track() { MediaTypeId = 1, UnitPrice = 0.99, Name = tbTrackTitle.Text, Milliseconds = (int)trackTime, AlbumId = activeAlbum.AlbumId, Album = activeAlbum, TrackId = newId }; activeAlbum.Tracks.Add(newTrack); int rowIndex = daGrTracks.Rows.Add(); daGrTracks.Rows[rowIndex].Tag = newTrack; daGrTracks.Rows[rowIndex].Cells["cTrackLength"].Value = TimeSpan.FromMilliseconds(newTrack.Milliseconds).ToString("mm\\:ss"); daGrTracks.Rows[rowIndex].Cells["cTrackTitle"].Value = newTrack.Name; } else { MessageBox.Show("Invalid input!"); } } else { MessageBox.Show("Invalid input!"); } } } ; db.SaveChanges(); }
private void buttonSaveArtist_Click(object sender, EventArgs e) { using (var db = new PlayListContext()) { if (db.Database.CanConnect()) { var artists = db.Artists.ToList().OrderBy(artist => artist.ArtistId); int newId = artists.LastOrDefault().ArtistId + 1; bool artistExists = db.Artists.Any(a => a.Name == tbNewArtist.Text); if (tbNewArtist.Text != null || tbNewArtist.Text != "") { if (artistExists) { MessageBox.Show("Artist already exists in Database!"); } else { var result = MessageBox.Show($"Do you want to save the artist {tbNewArtist.Text} to the Database?", "Save artist", MessageBoxButtons.OKCancel); if (result == DialogResult.OK) { Artist newArtist = new Artist() { Name = tbNewArtist.Text, ArtistId = newId }; db.Artists.Add(newArtist); db.SaveChanges(); MessageBox.Show("Artist successfully saved!"); } } } else { MessageBox.Show("Artist name can't be blank!"); } } } }
private void buttonSavePL_Click(object sender, EventArgs e) { using (var db = new PlayListContext()) { if (db.Database.CanConnect()) { var playlists = db.Playlists.ToList().OrderBy(pl => pl.PlaylistId); int newId = playlists.LastOrDefault().PlaylistId + 1; if (!string.IsNullOrEmpty(tbPLName.Text)) { Playlist playlist = new Playlist() { Name = tbPLName.Text, PlaylistId = newId }; db.Playlists.Add(playlist); DialogResult result = MessageBox.Show($"Do you want to save the playlist as '{playlist.Name}'?" , "Save playlist", MessageBoxButtons.OKCancel); if (result == DialogResult.OK) { db.SaveChanges(); } tbPLName.Clear(); } else { MessageBox.Show("Please enter a title for your playlist!"); } } else { MessageBox.Show("Connection Failed!"); } } }
private void buttonAddTracks_Click(object sender, EventArgs e) { if (tWPL.SelectedNode != null) { if (tWPL.SelectedNode.Tag is Playlist playlist && tWTr.SelectedNode.Tag is Track track) { var ptTrack = new PlaylistTrack() { PlaylistId = playlist.PlaylistId, TrackId = track.TrackId }; db.PlaylistTracks.Add(ptTrack); DialogResult result = MessageBox.Show($"Are you sure you want to add '{track.Name}'\n" + $" to playlist '{playlist.Name}'?", "Add tracks to playlist", MessageBoxButtons.OKCancel); if (result == DialogResult.OK) { db.SaveChanges(); MessageBox.Show("Track added!"); AddPlaylistsToList(); var selectedNode = tWPL.Nodes.Find(tbSelectedPL.Text, false); if (selectedNode != null) { selectedNode[0].Expand(); } tbSelectedPL.Clear(); tbSelectedTrack.Clear(); } } else { MessageBox.Show("Select a playlist!"); } }