public HttpResponseMessage CreateBook([FromBody] BookShortModel book, [ValueProvider(typeof(HeaderValueProviderFactory <string>))] string sessionKey) { var responseMsg = this.PerformOperationAndHandleExceptions(() => { var context = new BookstoreContext(); var user = context.Users.FirstOrDefault(usr => usr.SessionKey == sessionKey); if (user == null) { throw new InvalidOperationException("Invalid username or password"); } var bookToAdd = new Book(); bookToAdd.Title = book.Title; if (book.PublishDate != null) { bookToAdd.PublishDate = book.PublishDate; } bookToAdd.CoverUrl = book.CoverUrl; context.Books.Add(bookToAdd); context.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.Created)); }); return(responseMsg); }
public HttpResponseMessage UpdateBook([FromBody] BookShortModel bookModel, [ValueProvider(typeof(HeaderValueProviderFactory <string>))] string sessionKey) { var responseMsg = this.PerformOperationAndHandleExceptions(() => { BookstoreContext context = new BookstoreContext(); var bookEntity = context.Books.SingleOrDefault(u => u.Id == bookModel.Id); if (bookModel.Title != null) { bookEntity.Title = bookModel.Title; } if (bookModel.PublishDate != null) { bookEntity.PublishDate = bookModel.PublishDate; } if (bookModel.CoverUrl != null) { bookEntity.CoverUrl = bookModel.CoverUrl; } context.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); }); return(responseMsg); }
public static CommentModel ToCommentModel(this ServiceComment comment, UserShortModel user, BookShortModel book) { return(new CommentModel { PublishTime = comment.PublishTime, Book = book, ID = comment.ID, Text = comment.Text, User = user }); }
public static ReviewModel ToReviewModel(this ServiceReview review, UserShortModel user, BookShortModel book) { return(new ReviewModel() { ID = review.ID, Book = book, Header = review.Header, PublishTime = review.PublishTime, Text = review.Text, Type = (review.Type < 0) ? ReviewType.Negative : review.Type == 0 ? ReviewType.Neutral : ReviewType.Positive, User = user, }); }
public static CollectionBookModel ToCollectionBookModel(this ServiceCollectionBook clBook, BookShortModel book, CollectionModel cl) { return(new CollectionBookModel() { ID = clBook.ID, collection = cl, IsRead = clBook.IsRead, book = book }); }
public static ContentModel ToContentModel(this ServiceContent content, UserShortModel user, BookShortModel book) { return(new ContentModel { Book = book, ID = content.ID, Text = content.Text, User = user }); }