public virtual QueryResult QueryGroupBuyingLottery(GroupBuyingLotteryQueryFilter msg) { int totalCount; var ds = ObjectFactory <IGroupBuyingLotteryQueryDA> .Instance.Query(msg, out totalCount); return(new QueryResult() { Data = ds.Tables[0], TotalCount = totalCount }); }
public DataSet Query(GroupBuyingLotteryQueryFilter 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("GetGroupBuyingLotteryList"); using (var sqlBuilder = new DynamicQuerySqlBuilder(cmd.CommandText, cmd, pagingEntity, "M.SysNo DESC")) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "M.[ProductGroupBuyingSysNo]", DbType.Int32, "@ProductGroupBuyingSysNo", QueryConditionOperatorType.Equal, filter.GroupBuyingSysNo); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "M.LotteryDate", DbType.DateTime, "@BeginDateFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.BeginDateFrom); //sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, // "M.LotteryDate", DbType.DateTime, "@BeginDateTo", // QueryConditionOperatorType.LessThan, // filter.BeginDateTo); //sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, // "M.LotteryDate", DbType.DateTime, "@EndDateFrom", // QueryConditionOperatorType.MoreThanOrEqual, // filter.EndDateFrom); if (filter.EndDateTo != null) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "M.LotteryDate", DbType.DateTime, "@EndDateTo", QueryConditionOperatorType.LessThan, filter.EndDateTo.Value.AddDays(1)); } object _rank; if (filter.RankType != null && EnumCodeMapper.TryGetCode(filter.RankType, out _rank)) { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "C.Rank", DbType.Int32, "@Rank", QueryConditionOperatorType.Equal, _rank); } sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "M.CompanyCode", DbType.AnsiStringFixedLength, "@CompanyCode", QueryConditionOperatorType.Equal, filter.CompanyCode); cmd.CommandText = sqlBuilder.BuildQuerySql(); var ds = cmd.ExecuteDataSet(); cmd.ConvertEnumColumn(ds.Tables[0], new EnumColumnList { { "Rank", typeof(CustomerRank) } }); totalCount = Convert.ToInt32(cmd.GetParameterValue("@TotalCount")); return(ds); } }