public async Task <ActionResult> Edit(BookAndAuthorName bookAndAuthorName, HttpPostedFileBase picture) { if (ModelState.IsValid) { Book originalBook = dbBooks.Books.AsNoTracking().FirstOrDefault(b => b.ISBN == bookAndAuthorName.Book.ISBN); bookAndAuthorName.Book.Id = originalBook.Id; if (picture != null) { bookAndAuthorName.Book.PictureName = await imageService.UploadImageAsync(picture, originalBook.PictureName); } if (bookAndAuthorName.Book.PictureName == null) { bookAndAuthorName.Book.PictureName = originalBook.PictureName; } bookAndAuthorName.Book.AuthorId = dbAuthor.Authors.AsEnumerable() .Where(x => string.Format("{0} {1}", x.FirstName, x.LastName) == bookAndAuthorName.AuthorName) .Single().AuthorId; dbBooks.Entry(bookAndAuthorName.Book).State = EntityState.Modified; dbBooks.SaveChanges(); return(RedirectToAction("Index")); } //TODO add error message if possible return(RedirectToAction("Index")); }
public ActionResult Edit(int?id) { BookAndAuthorName bookAndAuthor = new BookAndAuthorName(); if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Book book = dbBooks.Books.Find(id); Author tempAuthor = dbAuthor.Authors.Find(book.AuthorId); bookAndAuthor.Book = book; bookAndAuthor.AuthorName = tempAuthor.FirstName + " " + tempAuthor.LastName; return(View(bookAndAuthor)); }
public async Task <ActionResult> Create(BookAndAuthorName bookAndAuthor, HttpPostedFileBase picture) { if (ModelState.IsValid) { var pictureName = await imageService.UploadImageAsync(picture); bookAndAuthor.Book.PictureName = pictureName; bookAndAuthor.Book.ISBN = bookAndAuthor.Book.ISBN.Replace("-", "").Trim(); bookAndAuthor.Book.AuthorId = dbAuthor.Authors.AsEnumerable() .Where(x => string.Format("{0} {1}", x.FirstName, x.LastName) == bookAndAuthor.AuthorName) .Single().AuthorId; dbBooks.Books.Add(bookAndAuthor.Book); dbBooks.SaveChanges(); return(RedirectToAction("Index")); } return(View()); }
public ActionResult Details(int?id) { if (id == null) { return(RedirectToAction("Index")); } BookAndAuthorName bookAndAuthorName = new BookAndAuthorName(); bookAndAuthorName.Book = dbBooks.Books.Find(id); if (bookAndAuthorName.Book == null) { return(HttpNotFound()); } Author tempAuthor = dbAuthor.Authors.Find(bookAndAuthorName.Book.AuthorId); if (tempAuthor == null) { return(HttpNotFound()); } bookAndAuthorName.AuthorName = String.Format("{0}, {1}", tempAuthor.FirstName, tempAuthor.LastName); return(View(bookAndAuthorName)); }