/// <summary> /// 获取商品评论 /// </summary> /// <returns></returns> public PartialViewResult AjaxGetProudctReview() { int productGroupSysNo = int.Parse(Request["ProductGroupSysNo"].ToString()); //int serchType = int.Parse(Request["SearchType"].ToString()); int productSysNo = int.Parse(Request["ProductSysNo"].ToString()); Product_ReviewQueryInfo queryInfo = new Product_ReviewQueryInfo(); queryInfo.ProductGroupSysNo = productGroupSysNo; //queryInfo.SearchType.Clear(); //queryInfo.SearchType.Add((ReviewScoreType)serchType); string SearchType = Request["SearchType"]; int tempSearchType; 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); } } } queryInfo.NeedReplyCount = 5; queryInfo.ProductSysNo = productSysNo; queryInfo.PagingInfo = new PageInfo() { PageIndex = 0, PageSize = 5 }; ViewBag.ProductSysNo = productSysNo; return(PartialView("~/Views/UserControl/Product/UCProductReviewItem.cshtml", ReviewFacade.GetProductReviewListByProductGroupSysNoForProduct(queryInfo))); }
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_ReviewDetail GetProductReviewInfo(Product_ReviewQueryInfo queryInfo) { Product_ReviewDetail productReviewDetail = ReviewDA.GetProductReviewInfo(queryInfo); if (productReviewDetail != null) { 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(productReviewDetail); }
public static ProductReviewListViewModel GetProductReviewList(int productSysNo, int productGroupSysNo, List <ReviewScoreType> searchType, int pageIndex, int pageSize) { Product_ReviewQueryInfo queryInfo = new Product_ReviewQueryInfo() { ProductSysNo = productSysNo, ProductGroupSysNo = productGroupSysNo, SearchType = searchType, PagingInfo = new PageInfo() { PageSize = pageSize, PageIndex = pageIndex } }; var originReviewResult = ReviewFacade.GetProductReviewListByProductGroupSysNoForProduct(queryInfo); var result = EntityConverter <Product_ReviewList, ProductReviewListViewModel> .Convert(originReviewResult, (s, t) => { t.ProductReviewDetailList.PageIndex = s.ProductReviewDetailList.PageNumber - 1; t.ProductReviewDetailList.PageSize = s.ProductReviewDetailList.PageSize; t.ProductReviewDetailList.TotalRecords = s.ProductReviewDetailList.TotalRecords; t.ProductReviewDetailList.CurrentPageData = EntityConverter <List <Product_ReviewDetail>, List <ProductReviewDetailItemViewModel> > .Convert(s.ProductReviewDetailList.CurrentPageData); t.TotalCount1 = s.TotalCount1 + s.TotalCount2; t.TotalCount3 = s.TotalCount3 + s.TotalCount4; if (t.ProductReviewDetailList != null && t.ProductReviewDetailList.CurrentPageData != null && t.ProductReviewDetailList.CurrentPageData.Count > 0) { for (int i = 0; i < t.ProductReviewDetailList.CurrentPageData.Count; i++) { t.ProductReviewDetailList.CurrentPageData[i].NickName = s.ProductReviewDetailList.CurrentPageData[i].CustomerInfo.NickName; } } t.ProductReviewDetailList.PageIndex = pageIndex - 1; t.ProductReviewDetailList.PageSize = pageSize; t.ProductReviewDetailList.TotalRecords = searchType.Contains(ReviewScoreType.ScoreType11) ? t.TotalCount1 : (searchType.Contains(ReviewScoreType.ScoreType13) ? t.TotalCount3 : (searchType.Contains(ReviewScoreType.ScoreType15) ? t.TotalCount5 : t.TotalCount1)); t.ProductReviewDetailList.TotalPages = t.ProductReviewDetailList.TotalRecords <= 0 ? 0 : (t.ProductReviewDetailList.TotalRecords % t.ProductReviewDetailList.PageSize == 0 ? t.ProductReviewDetailList.TotalRecords / t.ProductReviewDetailList.PageSize : t.ProductReviewDetailList.TotalRecords / t.ProductReviewDetailList.PageSize + 1); if (null != t.ProductReviewScore && t.ProductReviewScore.ProductSysNo == 0) { t.ProductReviewScore.ProductSysNo = productSysNo; } }); return(result); }
/// <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 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> /// <param name="queryInfo"></param> /// <returns></returns> public static PagedResult <MyReview> GetMyReview(Product_ReviewQueryInfo queryInfo) { return(CustomerDA.GetMyReview(queryInfo)); }
/// <summary> /// 得到账户中心的晒单列表 /// </summary> /// <param name="queryInfo"></param> /// <returns></returns> public static PagedResult <OrderShowMaster> GetMyOrderShow(Product_ReviewQueryInfo queryInfo) { return(CustomerDA.GetMyOrderShow(queryInfo)); }
/// <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); }
/// <summary> /// 获取品论详情 /// </summary> /// <param name="queryInfo"></param> /// <returns></returns> public static Product_ReviewDetail GetProductReviewInfo(Product_ReviewQueryInfo queryInfo) { DataCommand dataCommand = DataCommandManager.GetDataCommand("ProductReview_GetProductReviewInfoBySysNo"); dataCommand.SetParameterValue("@SysNo", queryInfo.ReviewSysNo); dataCommand.SetParameterValue("@PageSize", queryInfo.PagingInfo.PageSize); dataCommand.SetParameterValue("@PageIndex", queryInfo.PagingInfo.PageIndex); SetCommandDefaultParameters(dataCommand); DataSet result = dataCommand.ExecuteDataSet(); DataTable masterTable = result.Tables[0]; Product_ReviewDetail reviewInfo = new Product_ReviewDetail(); if (masterTable.Rows != null && masterTable.Rows.Count > 0) { reviewInfo = DataMapper.GetEntity <Product_ReviewDetail>(masterTable.Rows[0]); Product_ReviewMaster masterscore = GetProductReviewMaster(reviewInfo.ProductSysNo); if (masterscore != null && reviewInfo != null) { reviewInfo.AvgScore = masterscore.AvgScore; reviewInfo.ReviewCount = masterscore.ReviewCount; } DataTable itemTable = result.Tables[1]; if (itemTable.Rows != null && itemTable.Rows.Count > 0) { DataRow[] itemRows = itemTable.Select("ReviewSysNo=" + reviewInfo.SysNo); DataTable newdt = new DataTable(); newdt = itemTable.Clone(); foreach (DataRow row in itemRows) { newdt.ImportRow(row); } if (newdt != null && newdt.Rows.Count > 0) { List <Product_ReplyDetail> replyList = DataMapper.GetEntityList <Product_ReplyDetail, List <Product_ReplyDetail> >(newdt.Rows); int totalCount = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount")); int webTotalCount = Convert.ToInt32(dataCommand.GetParameterValue("@WebTotalCount")); int pageIndex = queryInfo.PagingInfo.PageIndex; if ((pageIndex * queryInfo.PagingInfo.PageSize) > totalCount) { if (totalCount != 0 && (totalCount % queryInfo.PagingInfo.PageSize) == 0) { pageIndex = (int)(totalCount / queryInfo.PagingInfo.PageSize); } else { pageIndex = (int)(totalCount / queryInfo.PagingInfo.PageSize) + 1; } } //网友回复 reviewInfo.Replies = new PagedResult <Product_ReplyDetail>(webTotalCount, queryInfo.PagingInfo.PageSize, pageIndex, replyList.FindAll(f => f.ReplyType == FeedbackReplyType.Web)); //厂商和买家回复 reviewInfo.ReplieList = replyList.FindAll(f => f.ReplyType == FeedbackReplyType.Manufacturer || f.ReplyType == FeedbackReplyType.Newegg); //reviewInfo.ReplieList.Sort((a, b) => b.ReplyType.CompareTo(a.ReplyType)); } } if (result.Tables.Count > 2) { DataTable scoreNameTable = result.Tables[2]; if (scoreNameTable.Rows != null && scoreNameTable.Rows.Count > 0 && reviewInfo != null) { reviewInfo.ScoreNameList = new List <string>(); foreach (DataRow row in scoreNameTable.Rows) { reviewInfo.ScoreNameList.Add(row["Name"].ToString()); } } } } return(reviewInfo); }