예제 #1
0
        /// <summary>
        /// 查询分类属性
        /// </summary>
        /// <param name="model"></param>
        /// <param name="PageSize"></param>
        /// <param name="PageIndex"></param>
        /// <param name="SortField"></param>
        /// <param name="callback"></param>
        public void QueryProductChannelInfo(ProductChannelQueryVM model, int PageSize, int PageIndex, string SortField, EventHandler <RestClientEventArgs <dynamic> > callback)
        {
            ProductChannelInfoQueryFilter filter = model.ConvertVM <ProductChannelQueryVM, ProductChannelInfoQueryFilter>();

            filter.PagingInfo = new PagingInfo
            {
                PageSize  = PageSize,
                PageIndex = PageIndex,
                SortBy    = SortField
            };


            restClient.QueryDynamicData(GetRelativeUrl, filter,
                                        (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }
                if (!(args.Result == null || args.Result.Rows == null))
                {
                    foreach (var item in args.Result.Rows)
                    {
                        item.IsChecked = false;
                    }
                }
                callback(obj, args);
            }
                                        );
        }
예제 #2
0
        public QueryResult QueryProductChannelInfo(ProductChannelInfoQueryFilter request)
        {
            if (request == null)
            {
                throw new BizException(ResouceManager.GetMessageString("IM.ProductChannelInfo", "ProductChannelInfoCondtionIsNull"));
            }
            int totalCount;
            var data = ObjectFactory <IProductChannelInfoQueryDA> .Instance.QueryProductChannelInfo(request, out totalCount);

            var source = new QueryResult {
                Data = data, TotalCount = totalCount
            };

            return(source);
        }
예제 #3
0
        public DataTable QueryProductChannelInfo(ProductChannelInfoQueryFilter queryCriteria, out int totalCount)
        {
            var dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("QueryProductChannelInfo");
            var pagingInfo  = new PagingInfoEntity
            {
                SortField     = queryCriteria.PagingInfo.SortBy,
                StartRowIndex = queryCriteria.PagingInfo.PageIndex * queryCriteria.PagingInfo.PageSize,
                MaximumRows   = queryCriteria.PagingInfo.PageSize
            };

            using (var sqlBuilder = new DynamicQuerySqlBuilder(dataCommand.CommandText, dataCommand, pagingInfo, "CP.SysNo DESC"))
            {
                if (queryCriteria.ChannelSysNo > 0)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "CM.Sysno",
                                                                 DbType.Int32, "@ChannelSysNo",
                                                                 QueryConditionOperatorType.Equal,
                                                                 queryCriteria.ChannelSysNo);
                }

                if (queryCriteria.C1SysNo != null)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "C1.Sysno",
                                                                 DbType.Int32, "@C1SysNo",
                                                                 QueryConditionOperatorType.Equal,
                                                                 queryCriteria.C1SysNo.Value);
                }

                if (queryCriteria.C2SysNo != null)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "C2.Sysno",
                                                                 DbType.Int32, "@C2SysNo",
                                                                 QueryConditionOperatorType.Equal,
                                                                 queryCriteria.C2SysNo.Value);
                }

                if (queryCriteria.C3SysNo != null)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "C3.Sysno",
                                                                 DbType.Int32, "@C3SysNo",
                                                                 QueryConditionOperatorType.Equal,
                                                                 queryCriteria.C3SysNo.Value);
                }

                if (queryCriteria.ProductSysNo != null)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "P.SysNo",
                                                                 DbType.Int32, "@ProductSysNo",
                                                                 QueryConditionOperatorType.Equal,
                                                                 queryCriteria.ProductSysNo.Value);
                }

                if (!string.IsNullOrEmpty(queryCriteria.ProductID))
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "P.ProductID",
                                                                 DbType.String, "@ProductID",
                                                                 QueryConditionOperatorType.Equal,
                                                                 queryCriteria.ProductID);
                }

                if (!string.IsNullOrEmpty(queryCriteria.Status))
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "CP.Status",
                                                                 DbType.String, "@Status",
                                                                 QueryConditionOperatorType.Equal,
                                                                 queryCriteria.Status);
                }

                //渠道商品ID
                if (!string.IsNullOrEmpty(queryCriteria.ChannelProductID))
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "CP.SynProductID",
                                                                 DbType.String, "@ChannelProductID",
                                                                 QueryConditionOperatorType.Like,
                                                                 queryCriteria.ChannelProductID);
                }
                //taobaoSKU
                if (!string.IsNullOrEmpty(queryCriteria.TaobaoSKU))
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "CP.TaoBaoSku",
                                                                 DbType.String, "@TaobaoSKU",
                                                                 QueryConditionOperatorType.Like,
                                                                 queryCriteria.TaobaoSKU);
                }


                dataCommand.CommandText = sqlBuilder.BuildQuerySql();
                var enumList = new EnumColumnList {
                    { "Status", typeof(ProductChannelInfoStatus) }
                    , { "IsAppointInventory", typeof(BooleanEnum) }
                    , { "IsUsePromotionPrice", typeof(BooleanEnum) }
                };

                DataTable dt = dataCommand.ExecuteDataTable(enumList);

                totalCount = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount"));
                return(dt);
            }
        }