public IActionResult Delete(AddPlaylistBindingModel playlist, int id)
        {
            var playlistToDelete = dbContext.Playlists.FirstOrDefault(c => c.ID == id); //find the first playlist which matches the id

            dbContext.Playlists.Remove(playlistToDelete);
            dbContext.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public IActionResult Create(AddPlaylistBindingModel bindingModel)
        {
            var playlistToCreate = new Playlists
            {
                Name        = bindingModel.Name,
                Description = bindingModel.Description,
                Genre       = bindingModel.Genre,
                Thumbnail   = bindingModel.Thumbnail,
                CreatedAt   = DateTime.Now
            };

            dbContext.Playlists.Add(playlistToCreate);
            dbContext.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public void Create_Post()
        {
            //arrange
            var optionsBuilder = new DbContextOptionsBuilder <ApplicationDbContext>().UseInMemoryDatabase("test");
            var context        = new ApplicationDbContext(optionsBuilder.Options);

            context.Database.EnsureDeleted();
            context.Database.EnsureCreated();
            var controller = new PlaylistController(context);

            context.Playlists.Add(new PlaylistWeb.Models.Playlists {
                Name = "Good PlayList"
            });
            context.SaveChanges();

            AddPlaylistBindingModel playlist = new AddPlaylistBindingModel
            {
                Name        = "Fun Playlist",
                Description = "For having fun",
                Genre       = "Hip Hop",
                CreatedAt   = DateTime.Now
            };

            //act
            var result = controller.Create(playlist);

            //assert
            var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result);
            var playlists     = context.Playlists.ToList();
            var addedPlaylist = playlists.Single(p => p.Name == playlist.Name);

            Assert.Equal("Index", redirectToActionResult.ActionName);
            Assert.Equal(2, playlists.Count);
            Assert.Contains(playlists, x => x.Name == "Good PlayList");
            Assert.Contains(playlists, x => x.Name == "Fun Playlist");
        }