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!");
            }
        }
示例#2
0
        //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();
        }
示例#3
0
        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!");
                    }
                }
            }
        }
示例#4
0
        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!");
                }
            }
        }
示例#5
0
        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!");
                }
            }