示例#1
0
        public List <ECCategory> GetECCategoryTree(ECCategoryQueryFilter filter)
        {
            var cmd = DataCommandManager.CreateCustomDataCommandFromConfig("ECCategory_GetECCategoryTree");

            using (var sqlBuilder = new DynamicQuerySqlBuilder(cmd.CommandText, cmd, null, "A.SysNo DESC"))
            {
                //状态
                sqlBuilder.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "A.Status",
                    DbType.AnsiStringFixedLength,
                    "@Status",
                    QueryConditionOperatorType.Equal,
                    filter.Status);


                sqlBuilder.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "A.CompanyCode",
                    DbType.AnsiStringFixedLength,
                    "@CompanyCode",
                    QueryConditionOperatorType.Equal,
                    filter.CompanyCode);
                //TODO:添加渠道过滤条件

                cmd.CommandText = sqlBuilder.BuildQuerySql();
                return(cmd.ExecuteEntityList <ECCategory>());
            }
        }
示例#2
0
 public virtual QueryResult QueryECCategory(ECCategoryQueryFilter filter)
 {
     int totalCount = 0;
     var dt = _ecCategoryQueryDA.Query(filter, out totalCount);
     QueryResult queryResult = new QueryResult();
     queryResult.Data = dt;
     queryResult.TotalCount = totalCount;
     return queryResult;
 }
示例#3
0
        public void LoadTree(string channelID, ADStatus?status, EventHandler <RestClientEventArgs <ECCategory> > callback)
        {
            ECCategoryQueryFilter filter = new ECCategoryQueryFilter();

            filter.CompanyCode = CPApplication.Current.CompanyCode;
            filter.ChannelID   = channelID;
            filter.Status      = status;
            string relativeUrl = "/MKTService/ECCategory/GetECCategoryTree";

            restClient.Query <ECCategory>(relativeUrl, filter, callback);
        }
示例#4
0
 public virtual ECCategory GetECCategoryTree(ECCategoryQueryFilter filter)
 {
     var list = _ecCategoryQueryDA.GetECCategoryTree(filter);
     ECCategory root = new ECCategory();
     root.Name = "Root";
     root.SysNo = 0;
     root.RParentSysNo = 0;
     root.Status = ADStatus.Active;
     BuildTree(root, list);
     return root;
 }
示例#5
0
        public DataTable Query(ECCategoryQueryFilter filter, out int totalCount)
        {
            PagingInfoEntity pagingEntity = new PagingInfoEntity();

            pagingEntity.SortField     = filter.PagingInfo.SortBy;
            pagingEntity.MaximumRows   = filter.PagingInfo.PageSize;
            pagingEntity.StartRowIndex = filter.PagingInfo.PageIndex * filter.PagingInfo.PageSize;

            var cmd = DataCommandManager.CreateCustomDataCommandFromConfig("ECCategory_Query");

            using (var sqlBuilder = new DynamicQuerySqlBuilder(cmd.CommandText, cmd, pagingEntity, "A.SysNo DESC"))
            {
                //1级分类
                sqlBuilder.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "R3.EC_CategorySysno",
                    DbType.AnsiStringFixedLength,
                    "@C1SysNo",
                    QueryConditionOperatorType.Equal,
                    filter.C1SysNo);
                //2级分类
                sqlBuilder.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "R2.EC_CategorySysno",
                    DbType.AnsiStringFixedLength,
                    "@C2SysNo",
                    QueryConditionOperatorType.Equal,
                    filter.C2SysNo);

                //3级分类
                sqlBuilder.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "A.SysNo",
                    DbType.AnsiStringFixedLength,
                    "@C3SysNo",
                    QueryConditionOperatorType.Equal,
                    filter.C3SysNo);

                //状态
                sqlBuilder.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "A.Status",
                    DbType.AnsiStringFixedLength,
                    "@Status",
                    QueryConditionOperatorType.Equal,
                    filter.Status);


                sqlBuilder.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "A.CompanyCode",
                    DbType.AnsiStringFixedLength,
                    "@CompanyCode",
                    QueryConditionOperatorType.Equal,
                    filter.CompanyCode);
                //TODO:添加渠道过滤条件

                cmd.CommandText = sqlBuilder.BuildQuerySql();
                var            dt         = cmd.ExecuteDataTable();
                EnumColumnList enumConfig = new EnumColumnList();
                enumConfig.Add("Status", typeof(ADStatus));
                enumConfig.Add("PromotionStatus", typeof(FeatureType));
                enumConfig.Add("Level", typeof(ECCategoryLevel));
                enumConfig.Add("IsParentCategoryShow", typeof(YNStatus));
                cmd.ConvertEnumColumn(dt, enumConfig);

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