public IActionResult Edit(int bookId) { var model = new BookCreateEditViewModel(); model.Book = bookData.GetBookByid(bookId); List <SelectListItem> checkedPublishers = new List <SelectListItem>(); foreach (var publisher in publisherData.GetPublisers()) { checkedPublishers.Add(new SelectListItem { Value = publisher.Id.ToString(), Selected = false, Text = publisher.Name }); } foreach (var item in checkedPublishers) { foreach (var publisher in model.Book.BookPublishers) { if (Convert.ToInt32(item.Value) == publisher.PublisherId) { item.Selected = true; } } } model.AddPublisher = checkedPublishers; return(View(model)); }
public IActionResult Create(BookCreateEditViewModel model) { if (ModelState.IsValid) { foreach (var publisher in model.AddPublisher) { if (publisher.Selected) { model.Book.BookPublishers.Add(new BookPublishers { Publisher = publisherData.GetPubliserById(Convert.ToInt32(publisher.Value)) }); } } bookData.CreateBook(model.Book); bookData.Commit(); TempData["Message"] = "The object is edited"; return(RedirectToAction("Index")); } model.AddPublisher = publisherData.GetPublisers().Select(x => new SelectListItem { Selected = false, Value = x.Id.ToString(), Text = x.Name }).ToList(); return(View(model)); }
public IActionResult CreateEdit(BookCreateEditViewModel model) { int bookId; try { if (model.BookId == 0) { _logger.LogInformation(LoggingEvents.InsertItem, "Create Book with {BOOK}", model); bookId = _bookRepository.CreateBook( new Book() { Title = model.Title, Description = model.Description, ISBN = model.ISBN, PicturePath = "/images/0747532699.jpg", ReleaseDate = model.ReleaseDate, AuthorId = model.AuthorId, AveragedRating = 0 }); } else { _logger.LogInformation(LoggingEvents.UpdateItem, "Edit Book {ID} with {BOOK}", model.BookId, model); bookId = model.BookId; _bookRepository.EditBook( new Book() { BookId = model.BookId, Title = model.Title, Description = model.Description, ISBN = model.ISBN, PicturePath = model.PicturePath, ReleaseDate = model.ReleaseDate, AuthorId = model.AuthorId, AveragedRating = model.AveragedRating }); } } catch (Exception ex) { _logger.LogWarning(LoggingEvents.CreateUpdateItemFailed, ex, "Create/Update Book failed"); ModelState.AddModelError("", "Something went wrong. Please try again"); model.Authors = GetAuthorsSelectList(); return(View(model)); } return(RedirectToAction("Details", new { id = bookId })); }
public IActionResult Edit(BookCreateEditViewModel model) { if (ModelState.IsValid) { var tempBook = bookData.GetBookByid(model.Book.Id); tempBook.Title = model.Book.Title; tempBook.NumberOfPages = model.Book.NumberOfPages; tempBook.YearOfIssue = model.Book.YearOfIssue; if (tempBook.BookPublishers.Any()) { tempBook.BookPublishers.Clear(); } foreach (var publisher in model.AddPublisher) { if (publisher.Selected) { tempBook.BookPublishers.Add(new BookPublishers { Publisher = publisherData.GetPubliserById(Convert.ToInt32(publisher.Value)) }); } } bookData.UpdateBook(tempBook); bookData.Commit(); TempData["Message"] = "The object is edited"; return(RedirectToAction("Index")); } List <SelectListItem> checkedPublishers = new List <SelectListItem>(); foreach (var publisher in publisherData.GetPublisers()) { checkedPublishers.Add(new SelectListItem { Value = publisher.Id.ToString(), Selected = false, Text = publisher.Name }); } foreach (var item in checkedPublishers) { foreach (var publisher in model.Book.BookPublishers) { if (Convert.ToInt32(item.Value) == publisher.PublisherId) { item.Selected = true; } } } model.AddPublisher = checkedPublishers; return(View(model)); }
public IActionResult Create() { var model = new BookCreateEditViewModel() { Book = new Book(), AddPublisher = publisherData.GetPublisers().Select(x => new SelectListItem { Selected = false, Value = x.Id.ToString(), Text = x.Name }).ToList() }; return(View(model)); }