Exemplo n.º 1
0
        /// <summary>
        /// 首页
        /// </summary>
        /// <returns></returns>
        public IActionResult Index(int?page)
        {
            page = page ?? 1;

            //获取服务商信息
            var serviceProviderList = _serviceProviderService.FindAll()
                                      .Select(s => new ServiceProvider
            {
                ID                  = s.ID,
                Name                = s.Name,
                Description         = s.Description,
                Image               = s.Image,
                Star                = s.Star,
                EvaluationOrderList = _evaluationOrderService.FindAll().Where(o => o.ServiceProviderID == s.ID).ToList()
            }).OrderByDescending(o => o.EvaluationOrderList.Count).AsQueryable().ToPagedList((int)page, 3);

            //计算供应商的星级
            foreach (var serviceProvider in serviceProviderList)
            {
                _serviceProviderService.GetStarScore(serviceProvider);
            }

            //将领域对象转换成UI对象
            var list = serviceProviderList.Select(s => s.ToModel()).ToList();

            //分页
            ViewBag.Pagination = new StaticPagedList <ServiceProviderModel>(list, serviceProviderList.PageNumber,
                                                                            serviceProviderList.PageSize, 4);

            return(View(list));
        }
Exemplo n.º 2
0
        /// <summary>
        ///提供商详情
        /// </summary>
        /// <param name="ID"></param>
        /// <returns></returns>
        public IActionResult ServiceProviderDetails(int ID, int?page)
        {
            page = page ?? 1;

            var serviceProvider = _serviceProvider.FindById(ID);

            var evaluationOrdersPage = _evaluationOrderService.FindAll()
                                       .Where(o => o.ServiceProviderID == serviceProvider.ID)
                                       .Select(s => new EvaluationOrder
            {
                Content         = s.Content,
                Star            = s.Star,
                EvaluationStart = s.EvaluationStart,
                ID        = s.ID,
                SysUser   = _sysUserService.FindById(s.CreatorID),
                ReplyList = _replyService.FindAll().Where(r => r.EvaluationOrderID == s.ID)
                            .Select(r => new Reply
                {
                    Content    = r.Content,
                    ReplyStart = r.ReplyStart,
                    Writer     = _sysUserService.FindById(r.ReplierID).Name
                }).OrderByDescending(o => o.ReplyStart)
                            .ToList()
            }).OrderByDescending(s => s.EvaluationStart)
                                       .AsQueryable().ToPagedList((int)page, 10);

            serviceProvider.EvaluationOrderList = evaluationOrdersPage.ToList();
            //计算供应商的星级
            _serviceProviderService.GetStarScore(serviceProvider);

            //统计每个星级个数
            ViewBag.Star = new StarType
            {
                One   = serviceProvider.EvaluationOrderList.Where(s => s.Star == 1).Count(),
                Two   = serviceProvider.EvaluationOrderList.Where(s => s.Star == 2).Count(),
                Three = serviceProvider.EvaluationOrderList.Where(s => s.Star == 3).Count(),
                Four  = serviceProvider.EvaluationOrderList.Where(s => s.Star == 4).Count(),
                Five  = serviceProvider.EvaluationOrderList.Where(s => s.Star == 5).Count()
            };

            //分页
            ViewBag.Pagination = new StaticPagedList <EvaluationOrder>(serviceProvider.EvaluationOrderList, evaluationOrdersPage.PageNumber,
                                                                       evaluationOrdersPage.PageSize, evaluationOrdersPage.TotalItemCount);

            return(View(serviceProvider));
        }
Exemplo n.º 3
0
        /// <summary>
        /// 回复
        /// </summary>
        /// <param name="ProviderID"></param>
        /// <param name="page"></param>
        /// <returns></returns>
        public IActionResult Index(int ProviderID, int EvaluationID, int?page)
        {
            page = page ?? 1;

            var serviceProvider     = _serviceProviderService.FindById(ProviderID);
            var EvaluationOrderPage = _evaluationOrderService.FindAll()
                                      .Where(o => o.ServiceProviderID == serviceProvider.ID).Select(s => new EvaluationOrder
            {
                Content         = s.Content,
                Star            = s.Star,
                EvaluationStart = s.EvaluationStart,
                ID        = s.ID,
                SysUser   = _sysUserService.FindById(s.CreatorID),
                ReplyList = _replyService.FindAll().Where(r => r.EvaluationOrderID == s.ID)
                            .Select(r => new Reply
                {
                    Content    = r.Content,
                    ReplyStart = r.ReplyStart,
                    Writer     = _sysUserService.FindById(r.ReplierID).Name
                }).OrderByDescending(o => o.ReplyStart)
                            .ToList()
            })
                                      .OrderByDescending(s => s.EvaluationStart)
                                      .AsQueryable().ToPagedList((int)page, 10);

            serviceProvider.EvaluationOrderList = EvaluationOrderPage.ToList();

            //计算供应商的星级
            _serviceProviderService.GetStarScore(serviceProvider);

            //当前回复评论的ID
            ViewBag.EvaluationID = EvaluationID;

            //分页
            ViewBag.Pagination = new StaticPagedList <EvaluationOrder>(serviceProvider.EvaluationOrderList, EvaluationOrderPage.PageNumber,
                                                                       EvaluationOrderPage.PageSize, EvaluationOrderPage.TotalItemCount);

            return(View(serviceProvider));
        }