Esempio n. 1
0
        public ServiceTagStatisticsDTO GetServiceTagStatistics(string serviceId)
        {
            var reservations = _reservationRepository.GetFiltered(o => o.ServiceId == serviceId).ToList();

            var results = new List <TagStatisticsDTO>();

            foreach (var reservation in reservations)
            {
                var ret = _commentTagRepository.GetFiltered(o => o.ReservationId == reservation.Id).GroupBy(g => g.TagId).Select(item => new TagStatisticsDTO {
                    TagId = item.Key, Count = item.Count(), TagName = _tagRepository.Get(item.Key)?.Name
                }).ToList();
                results.AddRange(ret);
            }

            var result = new List <TagStatisticsDTO>();

            foreach (var item in results)
            {
                var obj = result.FirstOrDefault(o => o.TagId == item.TagId);
                if (obj != null)
                {
                    obj.Count += item.Count;
                }
                else
                {
                    result.Add(item);
                }
            }

            //results.ForEach(item => {
            //    var name = _tagRepository.Get(item.TagId)?.Name;
            //    item.TagName = name;
            //});

            return(new ServiceTagStatisticsDTO {
                ServiceId = serviceId, TagStatistics = result
            });
        }
Esempio n. 2
0
        public GoodsTagStatisticsDTO Get(string goodsId)
        {
            var results = _commentTagRepository.GetFiltered(o => o.GoodsId == goodsId).GroupBy(g => g.TagId).Select(item => new TagStatisticsDTO {
                TagId = item.Key, Count = item.Count(), TagName = _tagRepository.Get(item.Key)?.Name
            }).ToList();

            //results.ForEach(item => {
            //    var name = _tagRepository.Get(item.TagId)?.Name;
            //    item.TagName = name;
            //});

            return(new GoodsTagStatisticsDTO {
                GoodsId = goodsId, TagStatistics = results
            });
        }
Esempio n. 3
0
        public async Task <IEnumerable <CommentDTO> > Get(string goodsId, int pageIndex, int pageSize)
        {
            var results = new List <CommentDTO>();
            var res     = _commentRepository.GetFiltered(o => o.GoodsId == goodsId).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();

            foreach (var item in res)
            {
                var user = await _userServiceProxy.GetCookAppUser(item.CreatedBy); //await _authServiceProxy.GetUser(item.CreatedBy);

                results.Add(new CommentDTO
                {
                    Content     = item.Content,
                    GoodsId     = item.GoodsId,
                    OrderId     = item.OrderId,
                    ImageIds    = _commentImageRepository.GetFiltered(o => o.CommentId == item.Id).Select(o => o.ImageId).ToList(),
                    TagIds      = _commentTagRepository.GetFiltered(o => o.CommentId == item.Id).Select(g => g.TagId).ToList(),
                    CreateTime  = item.CreatedOn.ToString("yyyy-MM-dd"),
                    NickName    = string.IsNullOrEmpty(user?.UserName)?"匿名用户": ProcessUserName(user?.UserName),
                    PortraitUrl = "https://resources.arcanestars.com/portrait.png"
                });
            }

            return(results);
        }
Esempio n. 4
0
        public async Task <IEnumerable <CommentDTO> > Get(string goodsId, int pageIndex, int pageSize)
        {
            var results = new List <CommentDTO>();
            var res     = _commentRepository.GetFiltered(o => o.GoodsId == goodsId).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();

            foreach (var item in res)
            {
                var user = await _authServiceProxy.GetUser(item.CreatedBy);

                results.Add(new CommentDTO
                {
                    Content     = item.Content,
                    GoodsId     = item.GoodsId,
                    OrderId     = item.OrderId,
                    ImageIds    = _commentImageRepository.GetFiltered(o => o.CommentId == item.Id).Select(o => o.ImageId).ToList(),
                    TagIds      = _commentTagRepository.GetFiltered(o => o.CommentId == item.Id).Select(g => g.TagId).ToList(),
                    CreateTime  = item.CreatedOn.ToString("yyyy-MM-dd"),
                    NickName    = user?.NickName,
                    PortraitUrl = user?.PortraitUrl
                });
            }

            return(results);
        }