/// <summary> /// 得到位用户评论评分 /// </summary> /// <param name="reviewQueryInfo"></param> /// <returns></returns> public static Product_ReviewMaster GetProductReviewMaster(int productSysNo) { Product_ReviewMaster reviewMasterInfo = new Product_ReviewMaster(); DataCommand dataCommand = DataCommandManager.GetDataCommand("ProductReview_GetProductReviewMaster"); dataCommand.SetParameterValue("@ProductSysNo", productSysNo); SetCommandDefaultParameters(dataCommand); DataSet result = dataCommand.ExecuteDataSet(); if (result != null && result.Tables.Count > 0) { DataTable reviewMasterInfoTable = result.Tables[0]; if (reviewMasterInfoTable.Rows != null && reviewMasterInfoTable.Rows.Count > 0) { reviewMasterInfo = DataMapper.GetEntity <Product_ReviewMaster>(reviewMasterInfoTable.Rows[0]); } if (result.Tables.Count > 1) { DataTable scoreNameTable = result.Tables[1]; if (scoreNameTable.Rows != null && scoreNameTable.Rows.Count > 0 && reviewMasterInfo != null) { reviewMasterInfo.ScoreNameList = new List <string>(); foreach (DataRow row in scoreNameTable.Rows) { reviewMasterInfo.ScoreNameList.Add(row["Name"].ToString()); } } } if (result.Tables.Count > 2) { DataTable customerListTable = result.Tables[2]; if (customerListTable.Rows != null && customerListTable.Rows.Count > 0 && reviewMasterInfo != null) { reviewMasterInfo.CustomerList = DataMapper.GetEntityList <CustomerInfo, List <CustomerInfo> >(customerListTable.Rows); } } } return(reviewMasterInfo); }
/// <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); }