Exemple #1
0
 private void Button_Search_Click(object sender, RoutedEventArgs e)
 {
     if (ValidationManager.Validate(this.QuerySection))
     {
         filter   = model.ConvertVM <ProductConsultQueryVM, ProductConsultQueryFilter>();
         filterVM = Newegg.Oversea.Silverlight.Utilities.UtilityHelper.DeepClone <ProductConsultQueryFilter>(filter);
         QueryResultGrid.QueryCriteria = this.filter;
         QueryResultGrid.Bind();
     }
 }
        public virtual QueryResult QueryProductConsult(ProductConsultQueryFilter filter)
        {
            int totalCount;
            var dataTable = ObjectFactory <ICommentQueryDA> .Instance.QueryProductConsult(filter, out totalCount);

            return(new QueryResult()
            {
                Data = dataTable,
                TotalCount = totalCount
            });
        }
        /// <summary>
        /// 查询咨询管理
        /// </summary>
        /// <param name="callback"></param>
        public void QueryProductConsult(ProductConsultQueryFilter 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/QueryProductConsult";

            restClient.QueryDynamicData(relativeUrl, filter, callback);
        }
Exemple #4
0
        /// <summary>
        /// 数据全部导出
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void QueryResultGrid_ExportAllClick(object sender, EventArgs e)
        {
            if (filterVM == null || this.QueryResultGrid.TotalCount < 1)
            {
                Window.Alert(ResComment.Information_ExportFailed);
                return;
            }
            ColumnSet col = new ColumnSet(this.QueryResultGrid);

            filter          = model.ConvertVM <ProductConsultQueryVM, ProductConsultQueryFilter>();
            filter.PageInfo = new ECCentral.QueryFilter.Common.PagingInfo()
            {
                PageSize  = ConstValue.MaxRowCountLimit,
                PageIndex = 0,
                SortBy    = string.Empty
            };
            facade.ExportExcelFile(filterVM, new ColumnSet[] { col });
        }
Exemple #5
0
        public ActionResult AjaxQuery()
        {
            ProductConsultQueryFilter queryCriteria = BuildQueryFilterEntity <ProductConsultQueryFilter>();

            queryCriteria.SortFields = "ProductSysNo";

            int?currentSellerSysNo = null;

            int currentSellerSysNoValue = UserAuthHelper.GetCurrentUser().SellerSysNo;

            if (currentSellerSysNoValue > 0)
            {
                currentSellerSysNo = currentSellerSysNoValue;
            }

            queryCriteria.SellerSysNo = currentSellerSysNo;

            QueryResult <ProductConsultQueryBasicInfo> result = ProductConsultService.QueryProductConsultBasicInfoList(queryCriteria);

            return(AjaxGridJson(result));
        }
        public void ExportExcelFile(ProductConsultQueryFilter filter, ColumnSet[] columns)
        {
            string relativeUrl = "/MKTService/CommentInfo/QueryProductConsult";

            restClient.ExportFile(relativeUrl, filter, columns);
        }
Exemple #7
0
        /// <summary>
        /// Query查询
        /// </summary>
        /// <param name="queryCriteria"></param>
        /// <returns></returns>
        public static QueryResult <ProductConsultQueryBasicInfo> QueryProductConsultBasicInfoList(ProductConsultQueryFilter queryCriteria)
        {
            int totalCount = 0;
            QueryResult <ProductConsultQueryBasicInfo> result = new QueryResult <ProductConsultQueryBasicInfo>();

            List <ProductConsultQueryBasicInfo> list = ProductConsultDA.QueryProductConsultBasicInfoList(queryCriteria, out totalCount);

            result.ResultList = list;
            result.PageInfo   = new PageInfo
            {
                PageIndex  = queryCriteria.PageIndex,
                PageSize   = queryCriteria.PageSize,
                TotalCount = totalCount,
            };

            return(result);
        }
Exemple #8
0
        /// <summary>
        /// 产品咨询查询
        /// </summary>
        /// <param name="filter"></param>
        /// <param name="totalCount"></param>
        /// <returns></returns>
        public static List <ProductConsultQueryBasicInfo> QueryProductConsultBasicInfoList(ProductConsultQueryFilter 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("ProductConsult_GetProductConsultDetailList");

            using (var sqlBuilder = new DynamicQuerySqlBuilder(dataCommand.CommandText, dataCommand, pagingEntity, string.IsNullOrEmpty(pagingEntity.SortField) ? pagingEntity.SortField : "A.SysNo DESC"))
            {
                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);
                }

                //sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "ChannelID", DbType.String, "@ChannelID", QueryConditionOperatorType.Equal, filter.ChannelID);
                //中蛋故有
                if (filter.VendorType == 1)
                {
                    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)
                {
                    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))
                    {
                        sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "A.ProductSysNo IN (SELECT SysNo FROM ipp3.dbo.Product WITH (NOLOCK) WHERE ProductID = '" + filter.ProductID + "')");
                    }
                }

                sqlBuilder.ConditionConstructor.AddBetweenCondition(QueryConditionRelationType.AND, "A.InDate", DbType.DateTime, "@InDate", QueryConditionOperatorType.MoreThanOrEqual, QueryConditionOperatorType.LessThanOrEqual, filter.InDateFrom, filter.InDateTo);

                sqlBuilder.ConditionConstructor.AddBetweenCondition(QueryConditionRelationType.AND, "A.EditDate", DbType.DateTime, "@EditDate", QueryConditionOperatorType.MoreThanOrEqual, QueryConditionOperatorType.LessThanOrEqual, filter.EditDateFrom, filter.EditDateTo);
                //商品类别
                if (filter.Category1SysNo != null && filter.Category2SysNo != null && filter.Category3SysNo != null)
                {
                    sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "A.ProductSysNo IN (SELECT SysNo FROM ipp3.dbo.Product WITH (NOLOCK) WHERE C3SysNo = " + filter.Category3SysNo + " AND CompanyCode=" + filter.CompanyCode + ")");
                }
                else if (filter.Category1SysNo != null && filter.Category2SysNo != null)
                {
                    sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "A.ProductSysNo IN (SELECT p.SysNo FROM ipp3.dbo.Product p WITH (NOLOCK),ipp3.dbo.Category3 c WITH (NOLOCK) WHERE p.C3SysNo = c.SysNo AND c.C2SysNo =" + filter.Category2SysNo + " AND P.CompanyCode=" + filter.CompanyCode + " AND C.CompanyCode=" + filter.CompanyCode + ")");
                }
                else if (filter.Category1SysNo != null)
                {
                    sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "A.ProductSysNo IN (SELECT p.SysNo FROM ipp3.dbo.Product p WITH (NOLOCK),ipp3.dbo.Category3 c3 WITH (NOLOCK),ipp3.dbo.Category2 c2 WITH (NOLOCK) WHERE p.C3SysNo = c3.SysNo  AND c3.C2SysNo = c2.SysNo AND c2.C1SysNo = " + filter.Category1SysNo + " AND P.companycode=" + filter.CompanyCode + " AND c2.companycode=" + filter.CompanyCode + " AND c3.companycode=" + filter.CompanyCode + ")");
                }

                if (filter.PMUserSysNo != null)
                {
                    sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "A.ProductSysNo IN (SELECT SysNo FROM ipp3.dbo.Product WITH (NOLOCK) WHERE PMUserSysNo = " + filter.PMUserSysNo + ")");
                }
                if (filter.ProductStatus != null)
                {
                    sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "A.ProductSysNo IN (SELECT SysNo FROM ipp3.dbo.Product WITH (NOLOCK) WHERE Status = " + filter.ProductStatus + ")");
                }
                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'");
                        }
                    }
                }
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "A.Type", DbType.String, "@Type", QueryConditionOperatorType.Equal, filter.Type);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "A.Content", DbType.String, "@Content", QueryConditionOperatorType.Like, filter.Content);
                if (filter.CustomerSysNo != null)
                {
                    sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "A.CustomerSysNo=" + filter.CustomerSysNo + "");
                }
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "A.EditUser", DbType.String, "@EditUser", QueryConditionOperatorType.Like, filter.EditUser);

                if (filter.CustomerCategory != null)
                {
                    sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "A.CustomerSysNo IN ( SELECT SysNo FROM ipp3.dbo.Customer WITH (NOLOCK)  WHERE CompanyCustomer = " + filter.CustomerCategory + ")");
                }

                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "A.CompanyCode", DbType.String, "@CompanyCode", QueryConditionOperatorType.Equal, filter.CompanyCode);


                dataCommand.CommandText = sqlBuilder.BuildQuerySql();


                //CodeNamePairColumnList pairList = new CodeNamePairColumnList();
                //pairList.Add("Status", "MKT", "ReplyStatus");//咨询状态
                ////pairList.Add("ReferenceType", "MKT", "CommentsCategory");
                //var dt = cmd.ExecuteDataTable(pairList);
                //totalCount = Convert.ToInt32(cmd.GetParameterValue("@TotalCount"));


                List <ProductConsultQueryBasicInfo> list = dataCommand.ExecuteEntityList <ProductConsultQueryBasicInfo>();
                totalCount = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount"));
                return(list);
            }
        }
Exemple #9
0
        public override void OnPageLoad(object sender, EventArgs e)
        {
            facade                 = new ProductConsultQueryFacade(this);
            filter                 = new ProductConsultQueryFilter();
            filterReply            = new ProductConsultReplyQueryFilter();
            model                  = new ProductConsultQueryVM();
            modelReply             = new ProductConsultReplyQueryVM();
            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;

            #region 咨询
            //商品状态
            comProductStatus.ItemsSource = EnumConverter.GetKeyValuePairs <ECCentral.BizEntity.IM.ProductStatus>(EnumConverter.EnumAppendItemType.All);


            //咨询状态,就是相对应的回复状态
            CodeNamePairHelper.GetList("MKT", "ReplyStatus", CodeNamePairAppendItemType.All, (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }
                comConsultStatus.ItemsSource      = args.Result;
                comConsultStatusReply.ItemsSource = args.Result;//.Remove(;需要删除已经回复,需要确认
            });

            //标记类型,也就是咨询的类型
            CodeNamePairHelper.GetList("MKT", "ConsultCategory", CodeNamePairAppendItemType.All, (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }
                comConsultCategory.ItemsSource = args.Result;
            });
            //顾客类型
            CodeNamePairHelper.GetList("MKT", "CustomerCategory", CodeNamePairAppendItemType.All, (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }
                comCustomerCategory.ItemsSource      = args.Result;
                comCustomerCategoryReply.ItemsSource = args.Result;
            });
            #endregion

            #region 回复
            comIsTopReply.ItemsSource         = EnumConverter.GetKeyValuePairs <YNStatus>(EnumConverter.EnumAppendItemType.All);
            comProductStatusReply.ItemsSource = EnumConverter.GetKeyValuePairs <ECCentral.BizEntity.IM.ProductStatus>(EnumConverter.EnumAppendItemType.All);

            comIsType.ItemsSource = EnumConverter.GetKeyValuePairs <ReplyVendor>(EnumConverter.EnumAppendItemType.All);
            #endregion

            ProductConsultLayout.DataContext = model;
            btnStackPanel.DataContext        = model;

            ProductConsultReplyLayout.DataContext = modelReply;
            btnReplyStackPanel.DataContext        = modelReply;
            base.OnPageLoad(sender, e);
        }