/// <summary> /// 根据用户ID查询商品评价 /// </summary> /// <param name="userId">用户ID</param> /// <param name="appId">appId</param> /// <param name="lastReviewTime">本页最后评价时间</param> /// <returns></returns> public System.Collections.Generic.List <Jinher.AMP.BTP.Deploy.CustomDTO.ReviewSDTO> GetReviewByUserIdExt (System.Guid userId, System.Guid appId, System.DateTime lastReviewTime) { string min = "1970-01-01 08:00:00"; DateTime mintime = Convert.ToDateTime(min); if (lastReviewTime.Equals(null) || lastReviewTime.Equals(DateTime.MinValue) || lastReviewTime.Equals(mintime)) { lastReviewTime = DateTime.Now; } var query = (from r in Review.ObjectSet() where r.UserId == userId && r.AppId == appId && r.SubTime < lastReviewTime orderby r.SubTime descending select r).Take(10).ToList(); //获取所有评价id var reviewid = query.Select(n => n.Id).ToList(); var replaylist = Reply.ObjectSet().Where(n => reviewid.Contains(n.ReviewId)).ToList(); List <ReviewSDTO> reviewlist = new List <ReviewSDTO>(); foreach (var review in query) { ReviewSDTO reviewSDTO = new ReviewSDTO(); reviewSDTO.ReviewId = review.Id; reviewSDTO.UserId = review.UserId; reviewSDTO.Name = review.UserName; reviewSDTO.UserHead = review.UserHeader; reviewSDTO.Details = review.Content; reviewSDTO.SubTime = review.SubTime; reviewSDTO.ShowTime = ConvertPublishTime(review.SubTime); reviewSDTO.CommodityName = review.CommodityName; reviewSDTO.CommodityPicture = review.CommodityPicture; reviewSDTO.Size = review.CommodityAttributes; reviewSDTO.Replays = (from n in replaylist.Where(n => n.ReviewId == review.Id) select new ReplySDTO { ReplyerName = n.UserName, ReplyerHead = n.UserHeader, Details = n.ReplyDetails, ReviewId = n.Id, PreId = n.PreUserId, SubTime = n.SubTime, ShowTime = ConvertPublishTime(n.SubTime) }).OrderBy(n => n.SubTime).ToList(); reviewlist.Add(reviewSDTO); } return(reviewlist); }
/// <summary> /// 根据商品ID查询商品评价 /// </summary> /// <param name="commodityId">商品ID</param> /// <param name="appId">appId</param> /// <param name="lastReviewTime">本页最后评价时间</param> /// <returns></returns> public System.Collections.Generic.List <Jinher.AMP.BTP.Deploy.CustomDTO.ReviewSDTO> GetReviewByCommodityIdExt (System.Guid commodityId, System.Guid appId, System.DateTime lastReviewTime) { Reply r = new Reply(); string min = "1970-01-01 08:00:00"; DateTime mintime = Convert.ToDateTime(min); if (lastReviewTime.Equals(null) || lastReviewTime.Equals(DateTime.MinValue) || lastReviewTime.Equals(mintime)) { lastReviewTime = DateTime.Now; } var query = (from data in Review.ObjectSet(). Where(n => n.CommodityId == commodityId && n.SubTime < lastReviewTime) .OrderByDescending(n => n.SubTime).Take(10) select data).ToList(); var reviewid = query.Select(n => n.Id).ToList(); var replaylist = Reply.ObjectSet().Where(n => reviewid.Contains(n.ReviewId)).ToList(); List <ReviewSDTO> reviewlist = new List <ReviewSDTO>(); foreach (var data in query) { ReviewSDTO reviewSDTO = new ReviewSDTO(); reviewSDTO.ReviewId = data.Id; reviewSDTO.UserId = data.UserId; reviewSDTO.OrderItemId = data.CommodityId; reviewSDTO.Name = ConvertAnonymous(data.UserName); reviewSDTO.UserHead = data.UserHeader; reviewSDTO.Details = data.Content; reviewSDTO.SubTime = data.SubTime; reviewSDTO.ShowTime = ConvertPublishTime(data.SubTime); reviewSDTO.Size = data.CommodityAttributes; reviewSDTO.Replays = (from n in replaylist.Where(n => n.ReviewId == data.Id) select new ReplySDTO { ReplyerName = ConvertAnonymous(n.UserName), ReplyerHead = n.UserHeader, Details = n.ReplyDetails, ReviewId = n.Id, PreId = n.PreUserId, SubTime = n.SubTime, ShowTime = ConvertPublishTime(n.SubTime) }).OrderBy(n => n.SubTime).ToList(); reviewlist.Add(reviewSDTO); } return(reviewlist); }