Exemplo n.º 1
0
        public IActionResult Index()
        {
            var listReviewDTO = _reviewService.GetReviews();

            List <ReviewViewModel> reviewViewModels = new List <ReviewViewModel>();

            string currentUserId = string.Empty;

            if (User.Identity.IsAuthenticated)
            {
                currentUserId = GetCurrentUserId();
            }

            foreach (var review in listReviewDTO)
            {
                var user = _userManager.Users.FirstOrDefault(p => p.Id == review.ApplicationUserId);

                bool like = _likeService.CheckLike(currentUserId, review.Id);

                reviewViewModels.Add(
                    new ReviewViewModel()
                {
                    Id = review.Id,
                    ApplicationUserId = review.ApplicationUserId,
                    Content           = review.Content,
                    CountLikes        = review.CountLikes,
                    DateTime          = review.DateTime,
                    Path = PathConstants.PAPH_USERS + user.Path,
                    LFP  = user.LFP(),
                    Like = like
                });

                reviewViewModels = reviewViewModels.OrderByDescending(p => p.DateTime).ToList();
            }

            _loggerService.LogInformation(CONTROLLER_NAME + LoggerConstants.ACTION_INDEX, LoggerConstants.TYPE_GET, "index", GetCurrentUserId());

            return(View(new ListReviewViewModel()
            {
                ReviewViewModels = reviewViewModels
            }));
        }