private void Button_Search_Click(object sender, RoutedEventArgs e) { if (ValidationManager.Validate(this.QuerySection)) { filter = model.ConvertVM <ProductReviewQueryVM, ProductReviewQueryFilter>(); filterVM = Newegg.Oversea.Silverlight.Utilities.UtilityHelper.DeepClone <ProductReviewQueryFilter>(filter); QueryResultGrid.QueryCriteria = this.filter; QueryResultGrid.Bind(); } }
public virtual QueryResult QueryProductReview(ProductReviewQueryFilter msg) { int totalCount; var dataTable = ObjectFactory <ICommentQueryDA> .Instance.QueryProductReview(msg, out totalCount); return(new QueryResult() { Data = dataTable, TotalCount = totalCount }); }
/// <summary> /// 查询产品评论 /// </summary> /// <param name="callback"></param> public void QueryProductReview(ProductReviewQueryFilter filter, int PageSize, int PageIndex, string SortField, EventHandler <RestClientEventArgs <dynamic> > callback) { filter.PageInfo = new ECCentral.QueryFilter.Common.PagingInfo() { PageSize = PageSize, PageIndex = PageIndex, SortBy = SortField }; string relativeUrl = "/MKTService/CommentInfo/QueryProductReview"; restClient.QueryDynamicData(relativeUrl, filter, callback); }
public ActionResult AjaxQuery() { ProductReviewQueryFilter queryCriteria = BuildQueryFilterEntity <ProductReviewQueryFilter>(); queryCriteria.SortFields = "ProductSysNo"; int?currentSellerSysNo = null; int currentSellerSysNoValue = UserAuthHelper.GetCurrentUser().SellerSysNo; if (currentSellerSysNoValue > 0) { currentSellerSysNo = currentSellerSysNoValue; } queryCriteria.SellerSysNo = currentSellerSysNo; QueryResult <ProductReviewQueryBasicInfo> result = ProductReviewService.QueryProductReviewBasicInfoList(queryCriteria); return(AjaxGridJson(result)); }
/// <summary> /// Queries the product review basic information list. /// </summary> /// <param name="queryCriteria">The query criteria.</param> /// <returns></returns> public static QueryResult <ProductReviewQueryBasicInfo> QueryProductReviewBasicInfoList(ProductReviewQueryFilter queryCriteria) { int totalCount = 0; QueryResult <ProductReviewQueryBasicInfo> result = new QueryResult <ProductReviewQueryBasicInfo>(); List <ProductReviewQueryBasicInfo> list = ProductReviewDA.QueryProductReviewBasicInfoList(queryCriteria, out totalCount); result.ResultList = list; result.PageInfo = new PageInfo { PageIndex = queryCriteria.PageIndex, PageSize = queryCriteria.PageSize, TotalCount = totalCount, }; return(result); }
public void ExportExcelFile(ProductReviewQueryFilter filter, ColumnSet[] columns) { string relativeUrl = "/MKTService/CommentInfo/QueryProductReview"; restClient.ExportFile(relativeUrl, filter, columns); }
/// <summary> /// 产品评论查询 /// </summary> /// <param name="filter">The filter.</param> /// <param name="totalCount">The total count.</param> /// <returns></returns> public static List <ProductReviewQueryBasicInfo> QueryProductReviewBasicInfoList(ProductReviewQueryFilter filter, out int totalCount) { PagingInfoEntity pagingEntity = new PagingInfoEntity(); pagingEntity.SortField = filter.SortFields; pagingEntity.MaximumRows = filter.PageSize; pagingEntity.StartRowIndex = filter.PageIndex * filter.PageSize; CustomDataCommand dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("ProductReview_QueryProductReviewDetail"); using (var sqlBuilder = new DynamicQuerySqlBuilder(dataCommand.CommandText, dataCommand, pagingEntity, string.IsNullOrEmpty(pagingEntity.SortField) ? pagingEntity.SortField : "A.SysNo DESC")) { if (filter.SysNo.HasValue) { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND , "A.SysNo" , DbType.Int32 , "@SysNo" , QueryConditionOperatorType.Equal , filter.SysNo); } if (filter.CustomerCategory.HasValue) { //顾客类型 sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND , "D.CompanyCustomer" , DbType.Int32 , "@CustomerCategory" , QueryConditionOperatorType.Equal , filter.CustomerCategory); } if (!string.IsNullOrEmpty(filter.Title)) { dataCommand.AddInputParameter("@Title", DbType.String, filter.Title); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND , "A.Title" , DbType.String , "@Title", QueryConditionOperatorType.Like , filter.Title); } if (filter.CustomerSysNo.HasValue) { //顾客 sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND , "A.CustomerSysNo" , DbType.Int32, "@CustomerSysNo" , QueryConditionOperatorType.Equal , filter.CustomerSysNo); } if (!string.IsNullOrEmpty(filter.Operation) && !string.IsNullOrEmpty(filter.Score) && filter.Operation != "0" && filter.Score != "0") { sqlBuilder.ConditionConstructor.AddCustomCondition( QueryConditionRelationType.AND , "A.Score" + filter.Operation + filter.Score); } if (filter.VendorType.HasValue) { if (filter.VendorType == 1)//商家ID { sqlBuilder.ConditionConstructor.AddCustomCondition( QueryConditionRelationType.AND , "VD.VendorType=0");//中蛋特有 } else { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND , "VD.SysNo" , DbType.Int32 , "@VendorType" , QueryConditionOperatorType.Equal , filter.VendorType); } } if (filter.ProductGroupNo != 0)//商品组ID { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND , "PC.ProductGroupSysno" , DbType.Int32 , "@GroupID" , QueryConditionOperatorType.Equal , filter.ProductGroupNo); } //是否商品组 if (filter.IsByGroup) { if (filter.ProductSysNo > 0) { sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "B.SysNo in(SELECT ProductSysNo FROM [OverseaContentManagement].[dbo].[V_CM_AllProductInfo] WHERE [ProductGroupSysno] IN (SELECT [ProductGroupSysno] FROM [OverseaContentManagement].[dbo].[V_CM_AllProductInfo] WHERE ProductID='" + filter.ProductID + "' AND ProductSysNo=" + filter.ProductSysNo + "))"); } } else { if (!string.IsNullOrEmpty(filter.ProductID)) { dataCommand.AddInputParameter("@ProductID", DbType.String, filter.ProductID); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND , "B.ProductID" , DbType.String , "@ProductID" , QueryConditionOperatorType.Like , filter.ProductID); } if (!string.IsNullOrEmpty(filter.ProductName)) { dataCommand.AddInputParameter("@ProductName", DbType.String, filter.ProductName); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "B.ProductName", DbType.String, "@ProductName", QueryConditionOperatorType.Like, filter.ProductName); } } //是否有用候选 if (filter.MostUseFulCandidate != null) { if (filter.MostUseFulCandidate == 0) { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND , "A.MostUseFul" , DbType.Int32 , "@MostUseFulCandidate" , QueryConditionOperatorType.NotEqual , 1); } else if (filter.MostUseFulCandidate == 1) { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND , "A.MostUseFul" , DbType.Int32 , "@MostUseFulCandidate" , QueryConditionOperatorType.Equal , filter.MostUseFulCandidate); } } //是否最有用 if (filter.MostUseFul != null) { if (filter.MostUseFul == 0) { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND , "A.MostUseFul", DbType.Int32 , "@MostUseFul" , QueryConditionOperatorType.NotEqual , 2); } else if (filter.MostUseFul == 1) { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND , "A.MostUseFul" , DbType.Int32 , "@MostUseFul" , QueryConditionOperatorType.Equal , 2); } } //评论类型 if (filter.ReviewType.HasValue) { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND , "A.ReviewType" , DbType.Int32, "@MostUseFul" , QueryConditionOperatorType.Equal , (int)filter.ReviewType.Value); } if (filter.UsefulCount.HasValue) { //用户有用评价数 sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND , "A.UsefulCount" , DbType.Int32 , "@UsefulCount" , QueryConditionOperatorType.Equal , filter.UsefulCount); } //评论状态 if (!string.IsNullOrEmpty(filter.Status)) { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND , "A.Status" , DbType.String, "@Status" , QueryConditionOperatorType.Equal , filter.Status.Substring(0, 1)); if (filter.Status.Length > 1) { if (filter.Status.Substring(2, 1) == "1") { sqlBuilder.ConditionConstructor.AddCustomCondition( QueryConditionRelationType.AND , "A.EditUser='******'"); } else if (filter.Status.Substring(2, 1) == "2") { sqlBuilder.ConditionConstructor.AddCustomCondition( QueryConditionRelationType.AND , "A.EditUser<>'System'"); } } } if (filter.SellerSysNo.HasValue) { dataCommand.AddInputParameter("@SellerSysNo", DbType.String, filter.SellerSysNo); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "B.MerchantSysNo", DbType.String, "@SellerSysNo", QueryConditionOperatorType.Equal, filter.SellerSysNo); } if (filter.IsTop.HasValue) { //置顶 sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND , "A.IsTop" , DbType.String , "@IsTop" , QueryConditionOperatorType.Equal , filter.IsTop); } if (filter.IsBottom.HasValue) { //置底 sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND , "A.IsBottom" , DbType.String, "@IsBottom" , QueryConditionOperatorType.Equal , filter.IsBottom); } if (filter.IsDigest.HasValue) { //是否精华 sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND , "A.IsDigest" , DbType.String , "@IsDigest" , QueryConditionOperatorType.Equal , filter.IsDigest); } //sqlBuilder.ConditionConstructor.AddBetweenCondition( // QueryConditionRelationType.AND // , "A.InDate" // , DbType.DateTime // , "@InDate" // , QueryConditionOperatorType.MoreThanOrEqual // , QueryConditionOperatorType // .LessThanOrEqual // , filter.InDateFrom // , filter.InDateTo); if (filter.InDateFrom != null) { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "P.InDate", DbType.DateTime, "@InDateFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.InDateFrom ); } if (filter.InDateTo != null) { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "P.InDate", DbType.DateTime, "@InDateTo", QueryConditionOperatorType.LessThan, filter.InDateTo ); } //sqlBuilder.ConditionConstructor.AddBetweenCondition( // QueryConditionRelationType.AND // , "A.EditDate" // , DbType.DateTime // , "@EditDate" // , QueryConditionOperatorType.MoreThanOrEqual // , QueryConditionOperatorType.LessThanOrEqual // , filter.EditDateFrom, filter.EditDateTo); if (filter.EditDateFrom != null) { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "P.EditDate", DbType.DateTime, "@EditDateFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.InDateFrom ); } if (filter.EditDateTo != null) { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "P.InDate", DbType.DateTime, "@EditDateTo", QueryConditionOperatorType.LessThan, filter.EditDateTo ); } if (!string.IsNullOrEmpty(filter.EditUser)) { //更新人 dataCommand.AddInputParameter("@EditUser", DbType.String, filter.EditUser); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND , "A.EditUser" , DbType.String, "@EditUser" , QueryConditionOperatorType.Like , filter.EditUser); } if (filter.PMUserSysNo.HasValue) { //PM sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND , "B.PMUserSysNo" , DbType.Int32 , "@PMUserSysNo" , QueryConditionOperatorType.Equal , filter.PMUserSysNo); } if (filter.ProductStatus.HasValue) { //商品状态 sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND , "B.Status" , DbType.Int32, "@ProductStatus" , QueryConditionOperatorType.Equal , filter.ProductStatus); } //商品类别 if (filter.Category3SysNo.HasValue) { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND , "B.C3SysNo" , DbType.Int32 , "@C3SysNo" , QueryConditionOperatorType.Equal , filter.Category3SysNo); } else { string c3 = string.Empty; if (filter.Category1SysNo.HasValue) { c3 += " AND Category1Sysno = " + filter.Category1SysNo; } if (filter.Category2SysNo.HasValue) { c3 += " AND Category2Sysno = " + filter.Category2SysNo; } if (!string.IsNullOrEmpty(c3)) { sqlBuilder.ConditionConstructor.AddCustomCondition( QueryConditionRelationType.AND , "B.C3SysNo IN (SELECT Category3Sysno FROM OverseaContentManagement.dbo.V_CM_CategoryInfo WHERE 1=1 AND CompanyCode =" + filter.CompanyCode + c3 + ")"); } } //CS处理状态 //if (filter.ComplainStatus == null) // sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "CM.Status IS NOT NULL"); //else sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "CM.Status", DbType.Int32, "@CSProcessStatus", QueryConditionOperatorType.Equal, filter.ComplainStatus); //首页蛋友热评 if (filter.IsIndexPageHotComment != null) { if (filter.IsIndexPageHotComment == CommonYesOrNo.No) { sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "A.SysNo NOT IN (SELECT ProductReviewSysno FROM OverseaECommerceManagement.dbo.ProductReview_Homepage with (nolock) WHERE Type = 'H')"); } else if (filter.IsIndexPageHotComment == CommonYesOrNo.Yes) { sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "A.SysNo IN (SELECT ProductReviewSysno FROM OverseaECommerceManagement.dbo.ProductReview_Homepage with (nolock) WHERE Type = 'H')"); } } //首页服务热线 if (filter.IsIndexPageServiceHotComment != null) { if (filter.IsIndexPageServiceHotComment == CommonYesOrNo.No) { sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "A.SysNo NOT IN (SELECT ProductReviewSysno FROM OverseaECommerceManagement.dbo.ProductReview_Homepage with (nolock) WHERE Type = 'S')"); } else if (filter.IsIndexPageServiceHotComment == CommonYesOrNo.Yes) { sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "A.SysNo IN (SELECT ProductReviewSysno FROM OverseaECommerceManagement.dbo.ProductReview_Homepage with (nolock) WHERE Type = 'S')"); } } if (!string.IsNullOrEmpty(filter.CompanyCode)) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND , "A.CompanyCode" , DbType.String , "@CompanyCode" , QueryConditionOperatorType.Equal , filter.CompanyCode); } dataCommand.CommandText = sqlBuilder.BuildQuerySql(); //EnumColumnList enumList = new EnumColumnList(); //enumList.Add("IsTop", typeof(CommonYesOrNo)); //enumList.Add("IsBottom", typeof(CommonYesOrNo)); //enumList.Add("MostUseFulCandidate", typeof(CommonYesOrNo)); //enumList.Add("MostUseFul", typeof(CommonYesOrNo)); //enumList.Add("IsDigest", typeof(CommonYesOrNo)); //enumList.Add("ComplainStatus", typeof(ReviewProcessStatus)); //CodeNamePairColumnList pairList = new CodeNamePairColumnList(); //pairList.Add("Status", "MKT", "ReplyStatus");//评论状态 //DataTable dataTable = dataCommand.ExecuteDataTable(enumList, pairList); //List<ProductReviewQueryBasicInfo> list = new List<ProductReviewQueryBasicInfo>(); //foreach (DataRow row in dataTable.Rows) //{ // list.Add(DataMapper.GetEntity<ProductReviewQueryBasicInfo>(row)); //} List <ProductReviewQueryBasicInfo> list = dataCommand.ExecuteEntityList <ProductReviewQueryBasicInfo>(); totalCount = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount")); return(list); } }
public override void OnPageLoad(object sender, EventArgs e) { facade = new ProductReviewQueryFacade(this); filter = new ProductReviewQueryFilter(); filterReply = new ProductReviewReplyQueryFilter(); model = new ProductReviewQueryVM(); modelReply = new ProductReviewReplyQueryVM(); modelReply.ChannelID = "1"; model.ChannelID = "1"; model.CompanyCode = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.CompanyCode; modelReply.CompanyCode = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.CompanyCode; //商品状态 comProductStatus.ItemsSource = EnumConverter.GetKeyValuePairs <ECCentral.BizEntity.IM.ProductStatus>(EnumConverter.EnumAppendItemType.All); comReplyProductStatus.ItemsSource = EnumConverter.GetKeyValuePairs <ECCentral.BizEntity.IM.ProductStatus>(EnumConverter.EnumAppendItemType.All); List <KeyValuePair <YNStatus?, string> > ynSource = EnumConverter.GetKeyValuePairs <YNStatus>(EnumConverter.EnumAppendItemType.All); //List<KeyValuePair<NYNStatus?, string>> nynSource = EnumConverter.GetKeyValuePairs<NYNStatus>(EnumConverter.EnumAppendItemType.All); //首页热评 comIndexHotReview.ItemsSource = ynSource; //首页服务热评 comIndexServiceHotReview.ItemsSource = ynSource; //是否精华 comEssence.ItemsSource = ynSource; //是否置顶 comIsTop.ItemsSource = ynSource; //置底 comIsBottom.ItemsSource = ynSource; //是否有用候选 comUseful.ItemsSource = ynSource; //是否有用候选 comIsCandidate.ItemsSource = ynSource; //CS处理状态, comCSProcessStatus.ItemsSource = EnumConverter.GetKeyValuePairs <ReviewProcessStatus>(EnumConverter.EnumAppendItemType.All); //评论状态,就是相对应的回复状态 CodeNamePairHelper.GetList("MKT", "ReplyStatus", CodeNamePairAppendItemType.All, (obj, args) => { if (args.FaultsHandle()) { return; } comReviewStatus.ItemsSource = args.Result; comReplyReviewStatus.ItemsSource = args.Result; }); CodeNamePairHelper.GetList("MKT", "Scores", (obj, args) => { if (args.FaultsHandle()) { return; } comScores.ItemsSource = args.Result; comScores.SelectedIndex = 0; }); //顾客类型 CodeNamePairHelper.GetList("MKT", "CustomerCategory", CodeNamePairAppendItemType.All, (obj, args) => { if (args.FaultsHandle()) { return; } comCustomerCategory.ItemsSource = args.Result; comReplyCustomerCategory.ItemsSource = args.Result; }); //回复类型 CodeNamePairHelper.GetList("MKT", "ReplySource", CodeNamePairAppendItemType.All, (obj, args) => { if (args.FaultsHandle()) { return; } comReplyStatus.ItemsSource = args.Result; }); //评论类型 普通/晒单 List <KeyValuePair <ReviewType?, string> > reviewOperate = EnumConverter.GetKeyValuePairs <ReviewType>(EnumConverter.EnumAppendItemType.All); comReviewType.ItemsSource = reviewOperate; List <CodeNamePair> operate = new List <CodeNamePair>(); operate.Add(new CodeNamePair() { Code = "0", Name = ResComment.Option_ALL }); operate.Add(new CodeNamePair() { Code = ">", Name = ">" }); operate.Add(new CodeNamePair() { Code = ">=", Name = ">=" }); operate.Add(new CodeNamePair() { Code = "=", Name = "=" }); operate.Add(new CodeNamePair() { Code = "<", Name = "<" }); operate.Add(new CodeNamePair() { Code = "<=", Name = "<=" }); comOperation.ItemsSource = operate; productReviewBaseInfo.DataContext = model; btnStackPanel.DataContext = model; productReviewReply.DataContext = modelReply; btnReplyStackPanel.DataContext = modelReply; SearchResult.DataContext = model; SearchResult2.DataContext = modelReply; base.OnPageLoad(sender, e); comOperation.SelectedIndex = 0; }