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