Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 6
0
        // 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());
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
0
        protected void DisplayBookReviews(string ISBN)
        {
            List <BookReview> BookReviews = BookReview.getBookReviewsByISBN(ISBN, ConfigurationManager.ConnectionStrings["GeekTextConnection"].ConnectionString);

            reviewsRepeater.DataSource = BookReviews;
            reviewsRepeater.DataBind();
        }
Ejemplo n.º 11
0
        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
            }));
        }
Ejemplo n.º 12
0
        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));
        }
Ejemplo n.º 13
0
        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);
        }
Ejemplo n.º 14
0
        public bool DeleteBookReview(int reviewId)
        {
            BookReview reviewToDelete = _context.BookReviews.Single(br => br.ReviewId == reviewId);

            _context.BookReviews.Remove(reviewToDelete);
            return(_context.SaveChanges() == 1);
        }
Ejemplo n.º 15
0
        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"));
 }
Ejemplo n.º 17
0
        public IActionResult DeleteReview(int reviewId)
        {
            BookReview bookReview = _libraryDB.BookReviews.Find(reviewId);

            _libraryDB.BookReviews.Remove(bookReview);
            _libraryDB.SaveChanges();
            return(RedirectToAction("MyBookReviews"));
        }
Ejemplo n.º 18
0
        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));
        }
Ejemplo n.º 23
0
        public ActionResult Create(int bookId, string bookName)
        {
            BookReview br = new BookReview()
            {
                BookId = bookId, BookName = bookName
            };

            return(View(br));
        }
Ejemplo n.º 24
0
        public ActionResult Review(string id)
        {
            var review = new BookReview()
            {
                BookId = id
            };

            return(View(review));
        }
Ejemplo n.º 25
0
 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));
 }
Ejemplo n.º 26
0
        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);
        }
Ejemplo n.º 27
0
        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));
        }
Ejemplo n.º 28
0
 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));
 }
Ejemplo n.º 29
0
 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));
 }
Ejemplo n.º 30
0
        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));
        }