示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
        }