Beispiel #1
0
        public JsonResult SaveBook(BookInfo bookInfo, HttpPostedFileBase image)
        {
            if (!ModelState.IsValid)
                return GetErrors();

            return Json(new {
                status = _repository.Save(new Book(bookInfo, GetPostedBookImage(image))),
                message = "Книга успешно сохранена"
            });
        }
Beispiel #2
0
        public JsonResult UpdateBook(BookInfo bookInfo, HttpPostedFileBase image)
        {
            if (!ModelState.IsValid)
                return GetErrors();

            var book = _repository.GetBook(bookInfo.Id);
            if (book == null)
                return Json(new { status = false, message = "Книга не найдена" });

            book.BookImage = GetPostedBookImage(image);
            book.Isbn = bookInfo.Isbn;
            book.Pages = bookInfo.Pages;
            book.Publisher = bookInfo.Publisher;
            book.PublishingYear = bookInfo.PublishingYear;
            book.Title = bookInfo.Title;

            // ExcludeRemoved -> Метод расширения для отбора ликвидных авторов
            // Путь: Infrastructute/Extensions/AuthorExtenson.cs
            //
            // При удалении автора, input поля принимают значения __removed и скрываются
            book.Authors = bookInfo.Authors.ExcludeRemoved().ToArray();

            return Json(new { status = _repository.Update(book), message = "Информация успешно обновлена" });
        }
Beispiel #3
0
 public Book(BookInfo bookInfo, BookImage bookImage)
     : this(bookInfo.Id, bookInfo.Pages, bookInfo.PublishingYear, bookInfo.Title, bookInfo.Publisher, bookInfo.Isbn,
         bookInfo.Authors.ExcludeRemoved(), bookImage)
 {
 }