Esempio n. 1
0
        private void btnCreate_Click(object sender, EventArgs e)
        {
            using (var ctx = new AccountContext())
            {
                var exists = ctx.Users.FirstOrDefault(u => u.Email == txtEmail.Text);
                if (exists == null)
                {
                    ctx.Users.Add(new User
                    {
                        FirstName = txtFirstName.Text,
                        LastName  = txtLastName.Text,
                        Email     = txtEmail.Text,
                        Password  = txtPassword.Text
                    });
                    MessageBox.Show("Your account has been created! Redirecting...");
                    ctx.SaveChanges();
                }
                else
                {
                    MessageBox.Show("This e-mail is already registered. Please log in or use a different e-mail");
                }
            }

            Close();
        }
Esempio n. 2
0
        private void btnAddArtist_Click(object sender, EventArgs e)
        {
            using (var ctx = new AccountContext())
            {
                ctx.Artists.Add(new Artist
                {
                    Name      = txtArtistName.Text,
                    CreatedAt = DateTime.Now,
                    UpdatedAt = DateTime.Now
                });
                ctx.SaveChanges();
            }
            MessageBox.Show($"{txtArtistName.Text} has been added.");
            Close();
            MainMenu main = new MainMenu();

            main.Show();
        }
Esempio n. 3
0
        private void lvwSongs_ItemChecked(object sender, ItemCheckedEventArgs e)
        {
            ListViewItem item = e.Item;
            Song         song = item.Tag as Song;

            if (song != null)
            {
                using (var ctx = new AccountContext())
                {
                    var interaction = ctx.Interactions
                                      .Join(ctx.Users,
                                            i => i.User.Id,
                                            user => user.Id,
                                            (i, user) => new { i, user })
                                      .Join(ctx.Songs,
                                            si => si.i.Song.Id,
                                            s => s.Id,
                                            (si, s) => new { si, s })
                                      .FirstOrDefault(x => x.si.user.Id == Global.UserId && x.s.Id == song.Id);

                    if (interaction == null)
                    {
                        ctx.Interactions.Add(new Interaction()
                        {
                            User      = ctx.Users.FirstOrDefault(u => u.Id == Global.UserId),
                            Song      = ctx.Songs.FirstOrDefault(s => s.Id == song.Id),
                            Liked     = item.Checked ? true : false,
                            PlayCount = 0,
                            CreatedAt = DateTime.Now,
                            UpdatedAt = DateTime.Now
                        });
                    }
                    else
                    {
                        interaction.si.i.Liked     = item.Checked ? true : false;
                        interaction.si.i.UpdatedAt = DateTime.Now;
                    }
                    ctx.SaveChanges();
                }
            }
        }
Esempio n. 4
0
        private void btnAddAlbum_Click(object sender, EventArgs e)
        {
            using (var ctx = new AccountContext())
            {
                var newAlbum = new Album
                {
                    Name      = txtName.Text,
                    Artist    = ctx.Artists.FirstOrDefault(x => x.Id == ((Artist)lstArtists.SelectedItem).Id),
                    CreatedAt = DateTime.Now,
                    UpdatedAt = DateTime.Now
                };

                ctx.Albums.Add(newAlbum);
                ctx.SaveChanges();
            }
            MessageBox.Show($"Album \"{txtName.Text}\" created!");
            Close();
            MainMenu main = new MainMenu();

            main.Show();
        }
Esempio n. 5
0
        private void btnAddSong_Click(object sender, EventArgs e)
        {
            using (var ctx = new AccountContext())
            {
                ctx.Songs.Add(new Song
                {
                    Title     = txtTitle.Text,
                    Album     = ctx.Albums.FirstOrDefault(x => x.Id == ((Album)lstAlbums.SelectedItem).Id),
                    Artist    = ctx.Artists.FirstOrDefault(x => x.Id == ((Artist)lstArtists.SelectedItem).Id),
                    Length    = 380,
                    CreatedAt = DateTime.Now,
                    UpdatedAt = DateTime.Now
                });
                ctx.SaveChanges();
            }
            MessageBox.Show($"{txtTitle.Text} has been added to the album.");
            Close();
            MainMenu main = new MainMenu();

            main.Show();
        }
Esempio n. 6
0
        private void btnPlay_Click(object sender, EventArgs e)
        {
            using (var ctx = new AccountContext())
            {
                Song song = lvwSongs.SelectedItems[0].Tag as Song;
                if (song != null)
                {
                    var interaction = ctx.Interactions
                                      .Join(ctx.Users,
                                            i => i.User.Id,
                                            user => user.Id,
                                            (i, user) => new { i, user })
                                      .Join(ctx.Songs,
                                            si => si.i.Song.Id,
                                            s => s.Id,
                                            (si, s) => new { si, s })
                                      .FirstOrDefault(x => x.si.user.Id == Global.UserId && x.s.Id == song.Id);

                    if (interaction == null)
                    {
                        ctx.Interactions.Add(new Interaction()
                        {
                            User      = ctx.Users.FirstOrDefault(u => u.Id == Global.UserId),
                            Song      = ctx.Songs.FirstOrDefault(s => s.Id == song.Id),
                            Liked     = false,
                            PlayCount = 1,
                            CreatedAt = DateTime.Now,
                            UpdatedAt = DateTime.Now
                        });
                    }
                    else
                    {
                        interaction.si.i.PlayCount++;
                        interaction.si.i.UpdatedAt = DateTime.Now;
                    }
                    ctx.SaveChanges();
                    MessageBox.Show("click");
                }
            }
        }
Esempio n. 7
0
 private void btnAddPlaylist_Click(object sender, EventArgs e)
 {
     using (var ctx = new AccountContext())
     {
         Playlist newPlaylist = new Playlist()
         {
             User      = ctx.Users.FirstOrDefault(u => u.Id == Global.UserId),
             Name      = txtPlaylistName.Text,
             CreatedAt = DateTime.Now,
             UpdatedAt = DateTime.Now
         };
         foreach (var item in lstPlaylistSongs.Items)
         {
             ctx.Songs.Attach(item as Song);
             newPlaylist.Songs.Add(item as Song);
         }
         ctx.Playlists.Add(newPlaylist);
         ctx.SaveChanges();
         MessageBox.Show($"Playlist {txtPlaylistName.Text} has been added.");
         MainMenu main = new MainMenu();
         main.Show();
         Close();
     }
 }