public virtual QueryResult QueryCoupons(CouponsQueryFilter request) { int totalCount; var dataTable = ObjectFactory <ICouponsQueryDA> .Instance.QueryCoupons(request, out totalCount); return(new QueryResult() { Data = dataTable, TotalCount = totalCount }); }
/****************************************************/ 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); }); }
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); } }