public void showBookReviewDetail(BookReview data) { Glide.With(mContext) .Load(Constant.IMG_BASE_URL + data.review.author.avatar) //.Placeholder(Resource.Drawable.avatar_default) .Transform(new GlideCircleTransform(mContext)) .Into(headerViewHolder.ivAuthorAvatar); headerViewHolder.tvBookAuthor.Text = (data.review.author.nickname); headerViewHolder.tvTime.Text = (FormatUtils.getDescriptionTimeFromDateString(data.review.created)); headerViewHolder.tvTitle.Text = (data.review.title); headerViewHolder.tvContent.Text = (data.review.content); Glide.With(mContext) .Load(Constant.IMG_BASE_URL + data.review.book.cover) //.Placeholder(Resource.Drawable.cover_default) .Transform(new GlideRoundTransform(mContext)) .Into(headerViewHolder.ivBookCover); headerViewHolder.tvBookTitle.Text = (data.review.book.title); headerViewHolder.tvHelpfullYesCount.Text = data.review.helpful.yes.ToString(); headerViewHolder.tvHelpfullNoCount.Text = data.review.helpful.no.ToString(); headerViewHolder.tvCommentCount.Text = (Java.Lang.String.Format(mContext.GetString(Resource.String.comment_comment_count), data.review.commentCount)); headerViewHolder.rlBookInfo.Click += (sender, e) => { BookDetailActivity.startActivity(this, data.review.book._id); }; headerViewHolder.ratingBar.setCountSelected(data.review.rating); }
public BookReviewDetail GetReviewById(int Id) { BookReview reviewToGet = _context.BookReviews.Single(br => br.ReviewId == Id); BookReviewDetail bookReview = new BookReviewDetail { ReviewId = reviewToGet.ReviewId, ReviewText = reviewToGet.ReviewText, CreatedReview = reviewToGet.CreatedReview, ReviewTitle = reviewToGet.ReviewTitle, BookId = reviewToGet.BookId, BookRating = reviewToGet.BookRating, Book = new BookDisplayItem { Title = reviewToGet.Book.Title, Genre = reviewToGet.Book.Genre, Description = reviewToGet.Book.Description, }, Comments = reviewToGet.Comments.Select(c => new CommentDisplayItem() { CommentId = c.CommentId, CommentText = c.CommentText }).ToList() }; return(bookReview); }
protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["id"] != null) { int bookid = int.Parse(Request.QueryString["id"]); dlBooks.DataSource = Book.GetBookByID(bookid); dlBooks.DataBind(); DataTable dr = BookReview.GetReviewsByBook(bookid); if (dr.Rows.Count > 0) { dlReviews.DataSource = BookReview.GetReviewsByBook(bookid); dlReviews.DataBind(); } else { lblExceptionMessage.Text = "There are no reviews for this book"; } } else { Response.Redirect("SearchBook.aspx"); } }
public async Task <IActionResult> Edit(int id, [Bind("ReviewID,ReviewText,ReviewDate,ReviewerName,Email,BookID")] BookReview bookReview) { if (id != bookReview.ReviewID) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(bookReview); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!BookReviewExists(bookReview.ReviewID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["BookID"] = new SelectList(_context.Books, "BookID", "Authors", bookReview.BookID); return(View(bookReview)); }
private static void InsertReviewData(XmlTextWriter writer, BookReview review) { writer.WriteStartElement("review"); if (review.BookReviewDate != null) { writer.WriteElementString("date", review.BookReviewDate.Value.ToString("dd-MMM-yyyy")); } writer.WriteElementString("content", review.BookReviewContents); writer.WriteStartElement("book"); writer.WriteElementString("title", review.Book.BookTitle); if (review.Book.Authors.Count > 0) { var authorNames = review.Book.Authors.Select(a => a.AuthorName).OrderBy(n => n); writer.WriteElementString("authors", string.Join(", ", authorNames)); } if (review.Book.BookISBN != null) { writer.WriteElementString("isbn", review.Book.BookISBN); } if (review.Book.BookWebSite != null) { writer.WriteElementString("url", review.Book.BookWebSite); } writer.WriteEndElement(); writer.WriteEndElement(); }
// Please Use this contrroller for review Action public ActionResult Review(int?id) { //BookReview bookReview = db.BookReviews.Find(id); //dynamic myModel = new ExpandoObject(); //myModel.bookList = db.BookReviews.Where(p => p.BookId == id).ToList(); List <BookReview> bookList = db.BookReviews.Where(p => p.BookId == id).ToList(); //ViewData["book"] = id; //ViewData["book1"] = db.BookReviews.Find(id); ReviewVM model = new ReviewVM(); BookReview review = new BookReview { BookId = id.GetValueOrDefault(), }; model.BookReview = review; if (id != null) { model.Book = db.Books.Find(id); } if (bookList != null) { model.BookReviews = bookList; model.Revcount = bookList.Count; } //if (bookList != null) //{ // return View(bookList); //} return(View(model)); }
protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["id"] != null) { //Read query string int id = int.Parse(Request.QueryString["id"]); //Calls GetAllBooks method which returns selected book ID, and store it in a DataTable datatype. DataTable dataTableBooks = Book.GetBookByID(id); //Set the data source to the DataTable, and then bind (apply) it. dlBooks.DataSource = dataTableBooks; dlBooks.DataBind(); //Gets the reviews DataTable dataTableReviews = BookReview.GetReviewsByBook(id); dlReviews.DataSource = dataTableReviews; dlReviews.DataBind(); } else { Response.Redirect("SearchBook.aspx"); } }
public ActionResult <BookReview> PostBookReview(BookReview bookReview) { _context.BookReviews.Add(bookReview); _context.SaveChanges(); return(NoContent()); }
protected void submitUserReview(object sender, EventArgs e) { if (createReviewRating.Value == "") { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Missing book rating value')", true); return; } BookReview userReview = new BookReview(); userReview.reviewText = createReviewTextarea.Value; userReview.reviewRating = Convert.ToInt32(createReviewRating.Value); userReview.ISBN = Request.QueryString["ISBN"]; userReview.displayAs = Convert.ToInt32(createReviewDisplay.Value); userReview.userID = Convert.ToInt32(Session["UserID"].ToString()); bool commentExists = BookReview.existsUserComment(userReview.userID, userReview.ISBN, ConfigurationManager.ConnectionStrings["GeekTextConnection"].ConnectionString); if (commentExists) { userReview.updateIntoDB(ConfigurationManager.ConnectionStrings["GeekTextConnection"].ConnectionString); } else { userReview.insertIntoDB(ConfigurationManager.ConnectionStrings["GeekTextConnection"].ConnectionString); } Response.Redirect(Request.RawUrl); }
protected void DisplayBookReviews(string ISBN) { List <BookReview> BookReviews = BookReview.getBookReviewsByISBN(ISBN, ConfigurationManager.ConnectionStrings["GeekTextConnection"].ConnectionString); reviewsRepeater.DataSource = BookReviews; reviewsRepeater.DataBind(); }
public async Task <IActionResult> AddReview(int id, BookReview bookReview) { if (ModelState.IsValid) { var book = _context.Books.Include(x => x.BookReviews).FirstOrDefault(x => x.Id == id); if (book != null) { book.BookReviews.Add(new BookReview { CreatedDate = DateTime.UtcNow, ReviewerName = bookReview.ReviewerName, Text = bookReview.Text }); _context.Update(book); await _context.SaveChangesAsync(); } } return(RedirectToRoute(new { controller = "MemberBooks", action = "Show", id = id })); }
public async Task <IHttpActionResult> PutBookReview(int id, BookReview bookReview) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != bookReview.Id) { return(BadRequest()); } db.Entry(bookReview).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!BookReviewExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public void RemoveReview(int userId, int bookId) { var user = _userRepo.getUserById(userId); var book = _bookRepo.getBookById(bookId); if (user == null) { throw new UserNotFoundException(); } if (book == null) { throw new BookNotFoundException(); } var review = new BookReview(); try { review = _repo.GetUserReview(userId, bookId); if (review == null) { throw new ReviewNotFoundException(); } } catch (ReviewNotFoundException e) { Console.WriteLine(e); throw e; } _repo.RemoveReview(userId, bookId); }
public bool DeleteBookReview(int reviewId) { BookReview reviewToDelete = _context.BookReviews.Single(br => br.ReviewId == reviewId); _context.BookReviews.Remove(reviewToDelete); return(_context.SaveChanges() == 1); }
public void TestDeleteFirstBookFirstBookReview() { using (var context = new MyDBContext()) { int reviewCount = 0; Book firstBook = context.Books.Include("BookReviews") .FirstOrDefault(); if (firstBook != null && firstBook.BookReviews.Count > 0) { //删除第一条书评 BookReview firstBookReview = firstBook.BookReviews.FirstOrDefault(); reviewCount = firstBook.BookReviews.Count; //从主对象的集合属性中移除(可选) firstBook.BookReviews.Remove(firstBookReview); //从DbSet中移除 context.BookReviews.Remove(firstBookReview); int result = context.SaveChanges(); Assert.IsTrue(result == 1); //重新提取记录 Book bookFromDB = context.Books.Include("BookReviews").FirstOrDefault(b => b.BookId == firstBook.BookId); Assert.IsTrue(bookFromDB.BookReviews.Count() == reviewCount - 1); //确认相关书评己经被删除 var query = from review in context.BookReviews where review.BookReviewId == firstBookReview.BookReviewId select review; Assert.IsTrue(query.Count() == 0); } } }
public async Task <ActionResult <GenricResponse> > BookReview(BookReview review) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } return(await InvokeAsync(() => _user.BookReview(review), "UserController:BookReview")); }
public IActionResult DeleteReview(int reviewId) { BookReview bookReview = _libraryDB.BookReviews.Find(reviewId); _libraryDB.BookReviews.Remove(bookReview); _libraryDB.SaveChanges(); return(RedirectToAction("MyBookReviews")); }
public ActionResult DeleteConfirmed(int id) { BookReview bookReview = db.BookReviews.Find(id); db.BookReviews.Remove(bookReview); db.SaveChanges(); return(RedirectToAction("Index")); }
public int Update(BookReview bookReview) { using (Conn) { string query = "UPDATE BookReview SET BookId=@bookId,Content=@content WHERE id =@id"; return(Conn.Execute(query, bookReview)); } }
public int Delete(BookReview bookReview) { using (Conn) { string query = "DELETE FROM BookReview WHERE id = @id"; return(Conn.Execute(query, bookReview)); } }
public int Insert(BookReview bookReview) { using (Conn) { string query = "INSERT INTO BookReview(BookId,Content)VALUES(@bookId,@content)"; return(Conn.Execute(query, bookReview)); } }
public Task <BookReview> CreateBookReview(BookReview bookReview) { var last = Reviews.Last(); bookReview.Id = last.Id + 1; Reviews.Add(bookReview); return(Task.FromResult(bookReview)); }
public ActionResult Create(int bookId, string bookName) { BookReview br = new BookReview() { BookId = bookId, BookName = bookName }; return(View(br)); }
public ActionResult Review(string id) { var review = new BookReview() { BookId = id }; return(View(review)); }
public ActionResult Edit(int bookId, [Bind("Id,Rating,Review,Title")] BookReview bookReview) { if (ModelState.IsValid) { bookRepository.UpdateBookReview(bookReview); return(RedirectToAction("Index", new { id = bookId })); } return(View(bookReview)); }
public bool UpdateBookReview(BookReviewEdit model) { BookReview reviewToEdit = _context.BookReviews.Single(br => br.ReviewId == model.ReviewId); reviewToEdit.ReviewText = model.ReviewText; reviewToEdit.ReviewTitle = model.ReviewTitle; reviewToEdit.BookRating = model.BookRating; return(_context.SaveChanges() == 1); }
public IActionResult UpdateBookReview(int reviewId) { Review review = new Review(); BookReview bookReview = _libraryDB.BookReviews.Find(reviewId); review.review = bookReview; review.ApiBook = _libraryDAL.GetBookInfo(bookReview.TitleIdApi); return(View(review)); }
public ActionResult Edit([Bind(Include = "BookReviewID,ReviewPhoto,TitleReview,AuthorBookReviewed,Description,AddedBy,AddedOn,Tags")] BookReview bookReview) { if (ModelState.IsValid) { db.Entry(bookReview).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(bookReview)); }
public ActionResult Edit([Bind(Include = "id,BookId,Description,FirstName,LastName")] BookReview bookreview) { if (ModelState.IsValid) { db.Entry(bookreview).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(bookreview)); }
public ActionResult Create(int bookId, [Bind(Include = "Rating,Review,Title")] BookReview bookReview) { if (ModelState.IsValid) { bookRepository.AddReviewToBook(bookId, bookReview); return(RedirectToAction("Index", new { id = bookId })); } return(View(bookReview)); }