public JsonResult Create(NewBookViewModel model) { if (ModelState.IsValid) { Author author; try { author = dbContext.authors.Single(a => a.id == model.authorId); if (author == null) { ModelState.AddModelError("Author", "ID de Autor Inválido!"); } else { Book book = new Book { author = author, name = model.name }; dbContext.books.Add(book); BookCopyCategory bcce = dbContext.bookCopyCategories.Single(z => z.id == GlobalValues.BookCopyCategory.EXTERNAL); BookCopyCategory bcci = dbContext.bookCopyCategories.Single(z => z.id == GlobalValues.BookCopyCategory.INTERNAL); BookCopyStatus bcs = dbContext.bookCopyStatuses.Single(z => z.id == GlobalValues.BookCopyStatus.AVAILABLE); BookCopy bci = new BookCopy { book = book, category = bcci, status = bcs, enterDate = DateTime.Now }; BookCopy bce = new BookCopy { book = book, category = bcce, status = bcs, enterDate = DateTime.Now }; dbContext.bookCopies.Add(bci); dbContext.bookCopies.Add(bce); dbContext.SaveChanges(); return(Json(new { status = "OK", info = "Operación exitosa!" })); } } catch (Exception ex) { ModelState.AddModelError("Author", ex.Message); } } List <string> messages = new List <string>(); foreach (var ms in ModelState.Values) { foreach (var me in ms.Errors) { messages.Add(me.ErrorMessage); } } return(Json(new { status = "ERROR", info = messages })); }
public JsonResult AddCopy(NewBookCopyViewModel model) { if (ModelState.IsValid) { try { Book book = dbContext.books.Single(a => a.id == model.bookId); BookCopyCategory bookCopyCategory = dbContext.bookCopyCategories.Single(a => a.id == model.categoryId); if (book == null || bookCopyCategory == null) { ModelState.AddModelError("IDs Incorrectos", "ID de Autor o de Categoría Inválidos!"); } else { BookCopyStatus bcs = dbContext.bookCopyStatuses.Single(z => z.id == GlobalValues.BookCopyStatus.AVAILABLE); BookCopy bc = new BookCopy { book = book, category = bookCopyCategory, status = bcs, enterDate = DateTime.Now }; dbContext.bookCopies.Add(bc); dbContext.SaveChanges(); return(Json(new { status = "OK", info = "Operación exitosa!" })); } } catch (Exception ex) { ModelState.AddModelError("Author", ex.Message); } } List <string> messages = new List <string>(); foreach (var ms in ModelState.Values) { foreach (var me in ms.Errors) { messages.Add(me.ErrorMessage); } } return(Json(new { status = "ERROR", info = messages })); }