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"); }