Ejemplo n.º 1
0
        public virtual QueryResult QueryCoupons(CouponsQueryFilter request)
        {
            int totalCount;
            var dataTable = ObjectFactory <ICouponsQueryDA> .Instance.QueryCoupons(request, out totalCount);

            return(new QueryResult()
            {
                Data = dataTable,
                TotalCount = totalCount
            });
        }
Ejemplo n.º 2
0
        /****************************************************/
        public void Query(CouponsQueryFilterViewModel filterVM, EventHandler <RestClientEventArgs <dynamic> > callback)
        {
            string             relativeUrl = "/MKTService/Coupons/Query";
            CouponsQueryFilter filter      = filterVM.ConvertVM <CouponsQueryFilterViewModel, CouponsQueryFilter>();

            restClient.QueryDynamicData(relativeUrl, filter, (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }
                callback(obj, args);
            });
        }
Ejemplo n.º 3
0
        public DataTable QueryCoupons(CouponsQueryFilter filter, out int totalCount)
        {
            PagingInfoEntity pagingEntity = new PagingInfoEntity();

            pagingEntity.SortField     = filter.PageInfo.SortBy;
            pagingEntity.MaximumRows   = filter.PageInfo.PageSize;
            pagingEntity.StartRowIndex = filter.PageInfo.PageIndex * filter.PageInfo.PageSize;
            var cmd = DataCommandManager.CreateCustomDataCommandFromConfig("QueryCoupons");

            using (var sqlBuilder = new DynamicQuerySqlBuilder(cmd.CommandText, cmd, pagingEntity, "A.SysNo DESC"))
            {
                //sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "WebChannelID", DbType.AnsiStringFixedLength,
                //    "@WebChannelID", QueryConditionOperatorType.Equal, filter.ChannelID);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "A.MerchantSysNo", DbType.Int32,
                                                             "@MerchantSysNo", QueryConditionOperatorType.Equal, filter.MerchantSysNo);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "A.SysNo", DbType.Int32, "@SysNoFrom",
                                                             QueryConditionOperatorType.MoreThanOrEqual, filter.CouponsSysNoFrom);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "A.SysNo", DbType.Int32, "@SysNoTo",
                                                             QueryConditionOperatorType.LessThanOrEqual, filter.CouponsSysNoTo);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "A.CouponName", DbType.String,
                                                             "@CouponName", QueryConditionOperatorType.Like, filter.CouponsName);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "A.Status", DbType.AnsiStringFixedLength,
                                                             "@Status", QueryConditionOperatorType.Equal, filter.Status);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "A.InUser", DbType.String,
                                                             "@InUser", QueryConditionOperatorType.Equal, filter.CreateUser);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "A.AuditUser", DbType.String,
                                                             "@AuditUser", QueryConditionOperatorType.Equal, filter.AuditUser);

                if (filter.BeginDate.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "A.AuditDate", DbType.DateTime,
                                                                 "@BeginDate", QueryConditionOperatorType.MoreThanOrEqual, filter.BeginDate);
                }
                if (filter.EndDate.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "A.AuditDate", DbType.DateTime,
                                                                 "@EndDate", QueryConditionOperatorType.LessThan, filter.EndDate.Value.AddDays(1));
                }


                if (filter.CreateDateFrom.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "A.InDate", DbType.DateTime,
                                                                 "@CreateDateFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.CreateDateFrom);
                }
                if (filter.CreateDateTo.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "A.InDate", DbType.DateTime,
                                                                 "@CreateDateTo", QueryConditionOperatorType.LessThan, filter.CreateDateTo.Value.AddDays(1));
                }

                string sql = "DECLARE @CouponCode NVARCHAR(20) ";
                if (!string.IsNullOrEmpty(filter.CouponCode))
                {
                    sql += string.Format("SET @CouponCode='{0}'", filter.CouponCode);
                }

                cmd.CommandText = sql + sqlBuilder.BuildQuerySql();

                EnumColumnList enumList = new EnumColumnList();
                enumList.Add("Status", typeof(CouponsStatus));
                enumList.Add("RulesType", typeof(CouponsProductRangeType));
                var dt = cmd.ExecuteDataTable(enumList);
                totalCount = Convert.ToInt32(cmd.GetParameterValue("@TotalCount"));
                return(dt);
            }
        }