public JsonResult CreateBook([DataSourceRequest] DataSourceRequest request, BookDetailsViewModel bookVM) { if (bookVM.CategoryName == null) { ModelState.AddModelError("CategoryName", "You must select category"); } if (bookVM != null && ModelState.IsValid) { var catTitle = bookVM.CategoryName; var category = this.db.Categories.FirstOrDefault(x => x.Title == catTitle); var book = new Book { Title = bookVM.Title, Description = bookVM.Description, Author = bookVM.Author, PublishDate = bookVM.PublishDate, Category = category }; this.db.Books.Add(book); this.db.SaveChanges(); bookVM.Id = book.Id; } return Json(new[] { bookVM }.ToDataSourceResult(request, ModelState), JsonRequestBehavior.AllowGet); }
public JsonResult DestroyBook([DataSourceRequest] DataSourceRequest request, BookDetailsViewModel bookVM) { var book = this.db.Books.FirstOrDefault(x => x.Id == bookVM.Id); this.db.Books.Remove(book); this.db.SaveChanges(); return Json(new[] { bookVM }, JsonRequestBehavior.AllowGet); }
public JsonResult UpdateBook([DataSourceRequest] DataSourceRequest request, BookDetailsViewModel bookVM) { Book book = this.db.Books.FirstOrDefault(x => x.Id == bookVM.Id); if (book != null && ModelState.IsValid) { if (book.Title != bookVM.Title) { book.Title = bookVM.Title; } if (book.Description != bookVM.Description) { book.Description = bookVM.Description; } if (book.Author != bookVM.Author) { book.Author = bookVM.Author; } if (book.PublishDate != bookVM.PublishDate) { book.PublishDate = bookVM.PublishDate; } if (book.Category.Title != bookVM.CategoryName) { book.Category = this.db.Categories.Where(x => x.Title == bookVM.CategoryName).Single(); } this.db.SaveChanges(); } return Json((new[] { bookVM }.ToDataSourceResult(request, ModelState)), JsonRequestBehavior.AllowGet); }