public ActionResult UCProductReviewList(string PageIndex, string PageSize, string SearchType, string ProductSysNo, string ProductGroupSysNo) { Product_ReviewQueryInfo queryInfo = new Product_ReviewQueryInfo(); queryInfo.NeedReplyCount = 5; queryInfo.PagingInfo = new PageInfo(); int tempIndex = 0; if (int.TryParse(PageIndex, out tempIndex)) { queryInfo.PagingInfo.PageIndex = tempIndex; } int tempSize = 0; if (int.TryParse(PageSize, out tempSize)) { queryInfo.PagingInfo.PageSize = tempSize; } int tempSearchType = 0; if (!string.IsNullOrWhiteSpace(SearchType)) { var searchTypeArray = SearchType.Split(new char[] { '+' }, StringSplitOptions.RemoveEmptyEntries); queryInfo.SearchType.Clear(); foreach (string searchType in searchTypeArray) { if (int.TryParse(searchType, out tempSearchType)) { queryInfo.SearchType.Add((ReviewScoreType)tempSearchType); } } } int tempProductSysNo = 0; if (int.TryParse(ProductSysNo, out tempProductSysNo)) { queryInfo.ProductSysNo = tempProductSysNo; } int tempProductGroupSysNo = 0; if (int.TryParse(ProductGroupSysNo, out tempProductGroupSysNo)) { queryInfo.ProductGroupSysNo = tempProductGroupSysNo; } Product_ReviewList list = ReviewFacade.GetProductReviewListByProductGroupSysNoForProduct(queryInfo); ViewQueryResult <Product_ReviewDetail> result = new ViewQueryResult <Product_ReviewDetail>(); result.ResultList = list.ProductReviewDetailList.CurrentPageData; result.PagingInfo.PageIndex = list.ProductReviewDetailList.PageNumber - 1; result.PagingInfo.PageSize = list.ProductReviewDetailList.PageSize; result.PagingInfo.TotalCount = list.ProductReviewDetailList.TotalRecords; return((ActionResult)View(result)); }
/// <summary> /// 获取评论列表 /// </summary> /// <param name="queryInfo"></param> /// <returns></returns> public static Product_ReviewList GetProductReviewListByProductGroupSysNoForProduct(Product_ReviewQueryInfo queryInfo) { Product_ReviewList productReviewList = ReviewDA.GetProductReviewListByProductGroupSysNoForProduct(queryInfo); if (productReviewList != null && productReviewList.ProductReviewDetailList != null) { foreach (var productReviewDetail in productReviewList.ProductReviewDetailList) { productReviewDetail.Cons = CommonFacade.SetCannotOnlineWordsMask(productReviewDetail.Cons); productReviewDetail.Prons = CommonFacade.SetCannotOnlineWordsMask(productReviewDetail.Prons); productReviewDetail.Service = CommonFacade.SetCannotOnlineWordsMask(productReviewDetail.Service); if (productReviewDetail.ReplieList != null) { foreach (var reply in productReviewDetail.ReplieList) { reply.Content = CommonFacade.SetCannotOnlineWordsMask(reply.Content); } } } } return(productReviewList); }
/// <summary> /// 评论列表页获取评论列表 /// </summary> /// <returns></returns> public PartialViewResult GetProudctReviewList() { int productGroupSysNo = int.Parse(Request["ProductGroupSysNo"].ToString()); int serchType = int.Parse(Request["SearchType"].ToString()); int productSysNo = int.Parse(Request["ProductSysNo"].ToString()); int pageIndex = 1; int.TryParse(Request.QueryString["page"], out pageIndex); Product_ReviewQueryInfo queryInfo = new Product_ReviewQueryInfo(); queryInfo.ProductGroupSysNo = productGroupSysNo; queryInfo.SearchType.Clear(); queryInfo.SearchType.Add((ReviewScoreType)serchType); queryInfo.NeedReplyCount = 5; queryInfo.ProductSysNo = productSysNo; queryInfo.PagingInfo = new PageInfo() { PageIndex = pageIndex == 0 ? 1 : pageIndex, PageSize = 10 }; //ViewBag.ProductSysNo = productSysNo; Product_ReviewList list = ReviewFacade.GetProductReviewListByProductGroupSysNoForProduct(queryInfo); return(PartialView("~/Views/UserControl/Product/UCProductReview.cshtml", list)); }
/// <summary> /// 获取评论 /// </summary> /// <param name="queryInfo"></param> /// <returns></returns> public static Product_ReviewList GetProductReviewListByProductGroupSysNoForProduct(Product_ReviewQueryInfo queryInfo) { Product_ReviewList reviews = new Product_ReviewList(); List <Product_ReviewDetail> reviewDetailList = new List <Product_ReviewDetail>(); List <Product_ReplyDetail> replyList = new List <Product_ReplyDetail>(); DataCommand dataCommand = DataCommandManager.GetDataCommand("GetProductReviewListByProductGroupSysNoForProduct"); reviews.ProductReviewScore = GetProductReviewMaster(queryInfo.ProductSysNo); dataCommand.SetParameterValue("@ProductGroupSysNo", queryInfo.ProductGroupSysNo); string searchType = string.Empty; if (queryInfo.SearchType != null) { searchType = String.Join(",", queryInfo.SearchType.ConvertAll(x => (int)x).Distinct()); } dataCommand.SetParameterValue("@SearchType", searchType); dataCommand.SetParameterValue("@PageSize", queryInfo.PagingInfo.PageSize); dataCommand.SetParameterValue("@NeedReplyCount", queryInfo.NeedReplyCount); dataCommand.SetParameterValue("@PageIndex", queryInfo.PagingInfo.PageIndex); SetCommandDefaultParameters(dataCommand); DataSet result = dataCommand.ExecuteDataSet(); reviews.TotalCount0 = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount0")); reviews.TotalCount1 = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount1")); reviews.TotalCount2 = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount2")); reviews.TotalCount3 = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount3")); reviews.TotalCount4 = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount4")); reviews.TotalCount5 = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount5")); List <Product_ReplyDetail> webReplyList = null; if (result != null && result.Tables.Count > 0) { DataTable reviesTable = result.Tables[0]; if (reviesTable.Rows != null && reviesTable.Rows.Count > 0) { reviewDetailList = DataMapper.GetEntityList <Product_ReviewDetail, List <Product_ReviewDetail> >(reviesTable.Rows); if (result.Tables.Count > 1) { if (queryInfo.NeedReplyCount > 0) { DataTable replysTable = result.Tables[1]; if (replysTable.Rows != null && replysTable.Rows.Count > 0) { replyList = DataMapper.GetEntityList <Product_ReplyDetail, List <Product_ReplyDetail> >(replysTable.Rows); } DataTable webReplysTable; if (result.Tables.Count >= 3) { webReplysTable = result.Tables[2]; if (webReplysTable.Rows.Count > 0) { webReplyList = DataMapper.GetEntityList <Product_ReplyDetail, List <Product_ReplyDetail> >(webReplysTable.Rows); } } //if (webReplysTable.Rows != null && webReplysTable.Rows.Count > 0) //{ // webReplyList = DataMapper.GetEntityList<Product_ReplyDetail, List<Product_ReplyDetail>>(webReplysTable.Rows); //} } } } } int totalCount = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount")); reviews.TotalCount = totalCount; if (reviewDetailList != null && reviewDetailList.Count > 0) { if (replyList != null && replyList.Count > 0) { reviewDetailList.ForEach(delegate(Product_ReviewDetail info) { info.ReplieList = replyList.FindAll(delegate(Product_ReplyDetail temp) { return(temp.ReviewSysNo == info.SysNo); }); }); } } if (reviewDetailList == null) { reviewDetailList = new List <Product_ReviewDetail>(); } reviews.ProductReviewDetailList = new PagedResult <Product_ReviewDetail>(totalCount, queryInfo.PagingInfo.PageSize, queryInfo.PagingInfo.PageIndex, reviewDetailList); if (reviews.ProductReviewDetailList != null && reviews.ProductReviewDetailList.Count > 0) { //网友回复列别(top 5) if (webReplyList != null && webReplyList.Count > 0) { foreach (Product_ReviewDetail review in reviews.ProductReviewDetailList) { review.WebReplayList = webReplyList.FindAll(f => f.ReviewSysNo == review.SysNo && f.ReplyType == FeedbackReplyType.Web); } } StringBuilder sb = new StringBuilder(); foreach (Product_ReviewDetail info in reviews.ProductReviewDetailList) { sb.Append(info.ProductSysNo.ToString()).Append(","); } if (sb.Length > 1) { sb.Remove(sb.Length - 1, 1); } //DataCommand dataCommand2 = DataCommandManager.GetDataCommand("GetProductGroupByProductSysnos"); //dataCommand2.SetParameterValue("@productSysnos", sb.ToString()); //List<GroupPropertyVendorInfo> groups = dataCommand2.ExecuteEntityList<GroupPropertyVendorInfo>(); //if (groups != null && groups.Count > 0) // foreach (Product_ReviewDetail info in reviews.ProductReviewDetailList) // foreach (GroupPropertyVendorInfo g in groups) // if (g.ProductSysNo == info.ProductSysNo) // { // info.ProductBaseInfo.GroupPropertyInfo = g.GroupPropertyInfo; // info.ProductBaseInfo.VendorInfo = g.VendorInfo; // break; // } } return(reviews); }