public virtual QueryResult QueryGroupbuyingFeedback(GroupBuyingFeedbackQueryFilter filter) { int totalCount; var dt = ObjectFactory <IGroupBuyingQueryDA> .Instance.QueryFeedback(filter, out totalCount); return(new QueryResult() { Data = dt, TotalCount = totalCount }); }
public DataTable QueryFeedback(GroupBuyingFeedbackQueryFilter 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("QueryGroupBuyingFeedback"); using (var sqlBuilder = new DynamicQuerySqlBuilder(cmd.CommandText, cmd, pagingEntity, "SysNo DESC")) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Type", DbType.Int32, "@FeedbackType", QueryConditionOperatorType.Equal, filter.FeedbackType); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "CreateDate", DbType.DateTime, "@CreateDateFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.CreateDateFrom); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "CreateDate", DbType.DateTime, "@CreateDateTo", QueryConditionOperatorType.LessThanOrEqual, filter.CreateDateTo); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Status", DbType.Int32, "@Status", QueryConditionOperatorType.Equal, filter.Status); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "EditDate", DbType.DateTime, "@ReadDateFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.ReadDateFrom); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "EditDate", DbType.DateTime, "@ReadDateTo", QueryConditionOperatorType.LessThanOrEqual, filter.ReadDateTo); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "CompanyCode", DbType.AnsiStringFixedLength, "@CompanyCode", QueryConditionOperatorType.Equal, filter.CompanyCode); cmd.CommandText = sqlBuilder.BuildQuerySql(); var cnList = new CodeNamePairColumnList(); cnList.Add("Type", "MKT", "GroupBuyingFeedBackType"); var dt = cmd.ExecuteDataTable(new EnumColumnList { { "Status", typeof(GroupBuyingFeedbackStatus) } }, cnList); totalCount = Convert.ToInt32(cmd.GetParameterValue("@TotalCount")); return(dt); } }