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); }
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); }