public QueryResult IncomeCostReportExport(IncomeCostReportQueryFilter filter)
        {
            int totalCount;
            var ds = ObjectFactory <IFinancialReportDA> .Instance.IncomeCostReportQuery(filter, out totalCount);

            var dataTable = ds.Tables[0];

            return(new QueryResult()
            {
                Data = dataTable, TotalCount = totalCount
            });
        }
        public QueryResultList IncomeCostReportQuery(IncomeCostReportQueryFilter filter)
        {
            int totalCount;
            var ds = ObjectFactory <IFinancialReportDA> .Instance.IncomeCostReportQuery(filter, out totalCount);

            return(new QueryResultList()
            {
                new QueryResult()
                {
                    Data = ds.Tables[0], TotalCount = totalCount
                },
                new QueryResult()
                {
                    Data = ds.Tables[1]
                }
            });
        }
Ejemplo n.º 3
0
        public DataSet IncomeCostReportQuery(IncomeCostReportQueryFilter filter, out int totalCount)
        {
            PagingInfoEntity  pagingInfo  = CreatePagingInfo(filter.PagingInfo);
            CustomDataCommand dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("FinancialReport.IncomeCostReportQuery");
            DataSet           result      = null;

            using (var sqlBuilder = new DynamicQuerySqlBuilder(dataCommand.CommandText, dataCommand, pagingInfo, "OrderDate DESC"))
            {
                #region Set dynamic codition for where
                if (filter.SODateFrom.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(
                        QueryConditionRelationType.AND,
                        "OrderDate",
                        DbType.DateTime,
                        "@OrderDateFrom_query",
                        QueryConditionOperatorType.MoreThanOrEqual,
                        filter.SODateFrom.Value);
                }

                if (filter.SODateTo.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(
                        QueryConditionRelationType.AND,
                        "OrderDate",
                        DbType.DateTime,
                        "@SODateTo_query",
                        QueryConditionOperatorType.LessThan,
                        filter.SODateTo.Value);
                }

                if (filter.PayTypeSysNo.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(
                        QueryConditionRelationType.AND,
                        "PayTypeSysNo",
                        DbType.Int32,
                        "@PayTypeSysNo_query",
                        QueryConditionOperatorType.Equal,
                        filter.PayTypeSysNo.Value);
                }

                if (!string.IsNullOrWhiteSpace(filter.ChannelID))
                {
                    sqlBuilder.ConditionConstructor.AddCondition(
                        QueryConditionRelationType.AND,
                        "ChannelID",
                        DbType.AnsiStringFixedLength,
                        "@ChannelID_query",
                        QueryConditionOperatorType.Equal,
                        filter.ChannelID);
                }

                if (filter.SOSysNo.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(
                        QueryConditionRelationType.AND,
                        "SOSysNo",
                        DbType.Int32,
                        "@SOSysNo_query",
                        QueryConditionOperatorType.Equal,
                        filter.SOSysNo.Value);
                }

                if (filter.SOStatusList != null && filter.SOStatusList.Count > 0)
                {
                    sqlBuilder.ConditionConstructor.AddInCondition <int>(
                        QueryConditionRelationType.AND,
                        "SOStatus",
                        System.Data.DbType.Int32,
                        filter.SOStatusList);
                }
                if (filter.VendorSysNoList != null && filter.VendorSysNoList.Count > 0)
                {
                    sqlBuilder.ConditionConstructor.AddInCondition(
                        QueryConditionRelationType.AND,
                        "VendorSysNo",
                        DbType.Int32,
                        filter.VendorSysNoList);
                }

                #endregion

                dataCommand.CommandText = sqlBuilder.BuildQuerySql();
                result = dataCommand.ExecuteDataSet();
                dataCommand.ConvertEnumColumn(result.Tables[0], 18, typeof(SOStatus));
                totalCount = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount"));
            }
            return(result);
        }