Exemplo n.º 1
0
        public virtual QueryResult QueryGiftCardFabricationMaster(GiftCardFabricationFilter filter)
        {
            int totalCount;
            var dataTable = ObjectFactory <IGiftCardQueryDA> .Instance.QueryGiftCardFabricationMaster(filter, out totalCount);

            return(new QueryResult()
            {
                Data = dataTable,
                TotalCount = totalCount
            });
        }
Exemplo n.º 2
0
        /// <summary>
        /// 查询礼品卡制作
        /// </summary>
        /// <param name="filter"></param>
        /// <param name="totalCount"></param>
        /// <returns></returns>
        public DataTable QueryGiftCardFabricationMaster(GiftCardFabricationFilter filter, out int totalCount)
        {
            PagingInfoEntity pagingEntity = new PagingInfoEntity();

            if (filter.PageInfo == null)
            {
                pagingEntity = null;
            }
            else
            {
                pagingEntity.SortField     = filter.PageInfo.SortBy;
                pagingEntity.MaximumRows   = filter.PageInfo.PageSize;
                pagingEntity.StartRowIndex = filter.PageInfo.PageIndex * filter.PageInfo.PageSize;
            }
            var cmd = DataCommandManager.CreateCustomDataCommandFromConfig("GiftCard_QueryGiftCardFabricationMaster");

            using (var sqlBuilder = new DynamicQuerySqlBuilder(cmd.CommandText, cmd, pagingEntity, "GG.GiftCardFabricationSysNo DESC"))
            {
                //sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "ChannelID", DbType.String, "@ChannelID", QueryConditionOperatorType.Equal, filter.ChannelID);

                //sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "B.ReferenceSOSysNo", DbType.Int32, "@ReferenceSOSysNo", QueryConditionOperatorType.Equal, filter.ReferenceSOSysNo);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "GM.CompanyCode", DbType.String, "@CompanyCode", QueryConditionOperatorType.Equal, filter.CompanyCode);


                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "GM.Title", DbType.String, "@Title", QueryConditionOperatorType.Like, filter.Title);

                if (filter.Status.HasValue)
                {
                    if (filter.Status.Value == -2)
                    {
                        sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "PV.Status IN (4,6,7,8)");
                    }
                    else
                    {
                        sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "GM.Status", DbType.Int32, "@Status", QueryConditionOperatorType.Equal, filter.Status);
                    }
                }
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "GM.POSysNo", DbType.Int32, "@POSysNo", QueryConditionOperatorType.Like, filter.POSysNo);

                if (filter.InDateTo != null)
                {
                    filter.InDateTo = (filter.InDateTo == filter.InDateFrom ? filter.InDateTo.Value.AddDays(1) : filter.InDateTo);
                }
                sqlBuilder.ConditionConstructor.AddBetweenCondition(QueryConditionRelationType.AND, "GM.InDate", DbType.DateTime, "@InDate", QueryConditionOperatorType.LessThanOrEqual, QueryConditionOperatorType.MoreThanOrEqual, filter.InDateTo, filter.InDateFrom);

                if (filter.Status.HasValue)
                {
                    cmd.CommandText = sqlBuilder.BuildQuerySql().Replace("#StrWhere2#", " where GG.Status=" + filter.Status.Value).Replace("#StrWhere3#", " where GG.Status=" + filter.Status.Value + " ");
                }
                else
                {
                    cmd.CommandText = sqlBuilder.BuildQuerySql().Replace("#StrWhere2#", "").Replace("#StrWhere3#", "");
                }
                EnumColumnList enumList = new EnumColumnList();
                enumList.Add("POStatus", typeof(ECCentral.BizEntity.PO.PurchaseOrderStatus));//前台展示状态
                //enumList.Add("CardType", typeof(ECCentral.BizEntity.IM.GiftCardType));

                CodeNamePairColumnList pairList = new CodeNamePairColumnList();
                pairList.Add("Status", "IM", "GiftCardFabricationStatus"); //
                var dt = cmd.ExecuteDataTable(enumList, pairList);
                totalCount = Convert.ToInt32(cmd.GetParameterValue("@TotalCount"));
                return(dt);
            }
        }