Exemplo n.º 1
0
        /// <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)));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        /// <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));
        }
Exemplo n.º 6
0
        /// <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);
        }
Exemplo n.º 7
0
 /// <summary>
 /// 获取账户中心我的评论
 /// </summary>
 /// <param name="queryInfo"></param>
 /// <returns></returns>
 public static PagedResult <MyReview> GetMyReview(Product_ReviewQueryInfo queryInfo)
 {
     return(CustomerDA.GetMyReview(queryInfo));
 }
Exemplo n.º 8
0
 /// <summary>
 /// 得到账户中心的晒单列表
 /// </summary>
 /// <param name="queryInfo"></param>
 /// <returns></returns>
 public static PagedResult <OrderShowMaster> GetMyOrderShow(Product_ReviewQueryInfo queryInfo)
 {
     return(CustomerDA.GetMyOrderShow(queryInfo));
 }
Exemplo n.º 9
0
        /// <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);
        }
Exemplo n.º 10
0
        /// <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);
        }