// PUT api/Books/5
        public IHttpActionResult PutBook(int id, Book book)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != book.BookId)
            {
                return(BadRequest());
            }

            db.Entry(book).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BookExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public Book Add(Book book)
        {
            var addedBook = _context.Add(book);

            _context.SaveChanges();
            book.Id = addedBook.Entity.Id;
            return(book);
        }
Esempio n. 3
0
        public Book Add(Book book)
        {
            var addedBook = _context.Add(book);

            addedBook.Entity.InsertDate = DateTime.Now;
            _context.SaveChanges();
            book.Id = addedBook.Entity.Id;


            return(book);
        }
Esempio n. 4
0
        public BookDetailDto AddNewBookWithAllFields(DateTime publishDate,
                                                     string author      = "Ralls, Kim",
                                                     string title       = "test title",
                                                     decimal price      = 0.0m,
                                                     string genre       = "Genre",
                                                     string description = "Description"
                                                     )
        {
            int           bookId  = NextBookExternalId() + 1;
            BookDetailDto newBook = new BookDetailDto
            {
                Id          = bookId,
                Author      = author,
                Title       = title,
                Price       = 100.1m,
                Genre       = genre,
                Description = description,
                PublishDate = publishDate
            };

            using (var db = new BooksAPIContext())
            {
                db.Books.Add(newBook.ToModel());
                db.SaveChanges();
            }
            return(newBook);
        }
Esempio n. 5
0
 public void DeleteBooksFromId(int id)
 {
     using (var db = new BooksAPIContext())
     {
         var booksToDelete = db.Books.Where(b => b.ExternalId >= id);
         db.Books.RemoveRange(booksToDelete);
         db.SaveChanges();
     }
 }
Esempio n. 6
0
 public bool UpdateBook(int id, Book book)
 {
     if (id == book.BookID)
     {
         db.Entry(book).State = EntityState.Modified;
         db.SaveChanges();
         return(true);
     }
     return(false);
 }
Esempio n. 7
0
        public IHttpActionResult PutBook(int id, [FromBody] BookDetailDto bookDeatil)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != bookDeatil.Id)
            {
                return(BadRequest());
            }

            var originalBook = db.Books.Single(b => b.ExternalId == bookDeatil.Id);

            var updatedBook = bookDeatil.ToModel();

            updatedBook.BookId = originalBook.BookId;
            db.Entry(originalBook).CurrentValues.SetValues(updatedBook);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BookExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Esempio n. 8
0
        private BookDetailDto addNewBookWithAllFields()
        {
            int           bookId  = GetMaxBookExternalId() + 1;
            BookDetailDto newBook = new BookDetailDto
            {
                Id          = bookId,
                Author      = "Ralls, Kim",
                Title       = "Integration testing",
                Price       = 100.1m,
                Genre       = "Genre",
                Description = "Description",
                PublishDate = DateTime.Now
            };

            db.Books.Add(newBook.ToModel());
            db.SaveChanges();
            return(newBook);
        }
 private void SaveContextChanges(BooksAPIContext _booksAPIContext)
 {
     _booksAPIContext.SaveChanges();
 }