Ejemplo n.º 1
0
        public async Task <ReviewAC> GetReview(int reviewId)
        {
            var review = await _context
                         .Review
                         .Include(r => r.Restaurant)
                         .ThenInclude(c => c.City)
                         .Include(r => r.User)
                         .Where(r => r.Id == reviewId)
                         .SingleOrDefaultAsync();

            var reviewComments = await _context
                                 .ReviewComment
                                 .Include(r => r.User)
                                 .Where(rc => rc.ReviewId == review.Id)
                                 .ToListAsync();

            var reviewLikes = _context
                              .ReviewLike
                              .Where(rl => rl.ReviewId == review.Id)
                              .Count();

            List <ReviewCommentAC> ListOfComments = new List <ReviewCommentAC>();

            foreach (var reviewCommnet in reviewComments)
            {
                ReviewCommentAC reviewCommentAC = new ReviewCommentAC();
                reviewCommentAC.ReviewCommentId   = reviewCommnet.Id;
                reviewCommentAC.ReviewCommentText = reviewCommnet.CommentText;
                reviewCommentAC.UserId            = reviewCommnet.UserId;
                reviewCommentAC.UserName          = reviewCommnet.User.UserName;

                ListOfComments.Add(reviewCommentAC);
            }

            ReviewAC reviewAC = new ReviewAC();
            UserAC   user     = new UserAC();

            user.Id      = review.User.Id;
            user.Name    = review.User.UserName;
            user.Phone   = review.User.PhoneNumber;
            user.Email   = review.User.Email;
            user.Address = review.User.Address;

            reviewAC.ReviewId       = review.Id;
            reviewAC.Rating         = review.Rating;
            reviewAC.ReviewText     = review.ReviewText;
            reviewAC.userAC         = user;
            reviewAC.ReviewCommnets = ListOfComments;
            reviewAC.TotalLike      = reviewLikes;
            reviewAC.RestaurantId   = review.RestaurantId;

            return(reviewAC);
        }
Ejemplo n.º 2
0
        public async Task <IEnumerable <ReviewAC> > GetAllReviewOfRestaurant(int restaurantId)
        {
            var reviews = await _context
                          .Review
                          .Include(r => r.Restaurant)
                          .ThenInclude(c => c.City)
                          .Include(r => r.User)
                          .Where(r => r.RestaurantId == restaurantId && r.ReviewText != null)
                          .ToListAsync();

            foreach (var review in reviews)
            {
                var reviewComments = await _context
                                     .ReviewComment
                                     .Where(rc => rc.ReviewId == review.Id)
                                     .ToListAsync();

                var totalReviewComments = _context
                                          .ReviewComment
                                          .Where(r => r.ReviewId == review.Id)
                                          .Count();
                var reviewLikes = _context
                                  .ReviewLike
                                  .Where(rl => rl.ReviewId == review.Id)
                                  .Count();

                List <ReviewCommentAC> ListOfComment = new List <ReviewCommentAC>();

                foreach (var reviewCommnet in reviewComments)
                {
                    ReviewCommentAC reviewCommentAC = new ReviewCommentAC();
                    reviewCommentAC.ReviewCommentId   = reviewCommnet.Id;
                    reviewCommentAC.ReviewCommentText = reviewCommnet.CommentText;
                    reviewCommentAC.UserId            = reviewCommnet.UserId;
                    reviewCommentAC.UserName          = reviewCommnet.User.UserName;

                    ListOfComment.Add(reviewCommentAC);
                }

                ReviewAC reviewAC = new ReviewAC();
                UserAC   user     = new UserAC();
                user.Id      = review.User.Id;
                user.Name    = review.User.UserName;
                user.Phone   = review.User.PhoneNumber;
                user.Email   = review.User.Email;
                user.Address = review.User.Address;

                reviewAC.ReviewId       = review.Id;
                reviewAC.Rating         = review.Rating;
                reviewAC.ReviewText     = review.ReviewText;
                reviewAC.userAC         = user;
                reviewAC.ReviewCommnets = ListOfComment;
                reviewAC.TotalLike      = reviewLikes;
                reviewAC.TotalComment   = totalReviewComments;
                reviewAC.RestaurantId   = restaurantId;

                AllReviews.Add(reviewAC);
            }

            return(AllReviews);
        }