示例#1
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));
        }
示例#2
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);
        }
示例#3
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));
        }
示例#4
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);
        }