Exemple #1
0
        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"));
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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());
        }
Exemple #4
0
        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));
        }