// GET: Reviews/My
        public ActionResult My(int page = 0, int pageSize = 5, string searchPattern = null)
        {
            var userId = this.User?.Identity?.GetUserId();

            var skip = page * pageSize;

            var totalCount = this.reviewService.CountUserReviews(userId, searchPattern);
            var reviews    = this.reviewService.GetReviewsForUser(userId, skip, pageSize, searchPattern);

            var mappedReviews = this.mapper.Map <IEnumerable <IBeerReview>, IEnumerable <SingleReviewViewModel> >(reviews);

            foreach (var singleReviewViewModel in mappedReviews)
            {
                singleReviewViewModel.IsEdit = true;
            }

            var viewModel = new PaginatedReviewsViewModel()
            {
                Items       = mappedReviews,
                TotalCount  = totalCount,
                CurrentPage = page,
                PageSize    = pageSize
            };

            if (this.Request.IsAjaxRequest())
            {
                return(this.PartialView("_ReviewList", viewModel));
            }

            return(this.View(viewModel));
        }
Ejemplo n.º 2
0
        // GET: Admin/Users/Reviews/id
        public ActionResult Reviews(string id, int page = 0, int pageSize = Constants.DefaultPageSize, string searchPattern = null)
        {
            page     = page < 0 ? 0 : page;
            pageSize = pageSize < 0 ? 1 : pageSize;
            var skip       = page * pageSize;
            var reviews    = this.reviewService.GetReviewsForUser(id, skip, pageSize, searchPattern);
            var totalCount = this.reviewService.CountUserReviews(id, searchPattern);

            var mappedReviews = this.mapper.Map <IEnumerable <IBeerReview>, IEnumerable <SingleReviewViewModel> >(reviews);

            foreach (var singleReviewViewModel in mappedReviews)
            {
                singleReviewViewModel.IsEdit = true;
            }

            var viewModel = new PaginatedReviewsViewModel()
            {
                Items       = mappedReviews,
                TotalCount  = totalCount,
                CurrentPage = page,
                PageSize    = pageSize
            };

            if (this.Request.IsAjaxRequest())
            {
                return(this.PartialView("_ReviewList", viewModel));
            }

            return(this.View("My", viewModel));
        }
        public void Setters_ShouldSetPropertiesCorrectly()
        {
            // Arrange
            var expectedCurrent  = this.Fixture.Create <int>();
            var expectedPageSize = this.Fixture.Create <int>();
            var expectedTotal    = this.Fixture.Create <int>();
            var expectedReviews  = new List <SingleReviewViewModel>();
            var sut = new PaginatedReviewsViewModel();

            // Act
            sut.Items       = expectedReviews;
            sut.CurrentPage = expectedCurrent;
            sut.PageSize    = expectedPageSize;
            sut.TotalCount  = expectedTotal;
            // Assert
            Assert.AreSame(expectedReviews, sut.Items);
            Assert.AreEqual(expectedCurrent, sut.CurrentPage);
            Assert.AreEqual(expectedPageSize, sut.PageSize);
            Assert.AreEqual(expectedTotal, sut.TotalCount);
        }