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); }
public IHttpActionResult PostBook(BookDetailDto book) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var bookModel = book.ToModel(); db.Books.Add(bookModel); db.SaveChanges(); var res = CreatedAtRoute("DefaultApi", new { controller = "Books", id = bookModel.BookId }, book); return(res); }
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); }
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)); }