public QueryResult CouponUseedReportExport(CouponUsedReportFilter filter)
        {
            int totalCount;
            var ds = ObjectFactory <IFinancialReportDA> .Instance.CouponUseedReportQuery(filter, out totalCount);

            var dataTable = ds.Tables[0];

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

            return(new QueryResultList()
            {
                new QueryResult()
                {
                    Data = ds.Tables[0], TotalCount = totalCount
                },
                new QueryResult()
                {
                    Data = ds.Tables[1]
                }
            });
        }
Пример #3
0
        public DataSet CouponUseedReportQuery(CouponUsedReportFilter filter, out int totalCount)
        {
            PagingInfoEntity  pagingInfo  = CreatePagingInfo(filter.PagingInfo);
            CustomDataCommand dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("FinancialReport.CouponUsedReportQuery");
            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 (filter.SoSysNo.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(
                        QueryConditionRelationType.AND,
                        "SOSysNo",
                        DbType.Int32,
                        "@SOSysNo_query",
                        QueryConditionOperatorType.Equal,
                        filter.SoSysNo.Value);
                }
                if (filter.Status.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "Status",
                                                                 DbType.Int32,
                                                                 "@Status",
                                                                 QueryConditionOperatorType.Equal,
                                                                 filter.Status.Value);
                }
                if (filter.SOPayStatus.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "SOPayStatus",
                                                                 DbType.Int32,
                                                                 "@SOPayStatus",
                                                                 QueryConditionOperatorType.Equal,
                                                                 filter.SOPayStatus.Value);
                }
                if (filter.MerchantSysNo.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "VendorSysNo",
                                                                 DbType.Int32,
                                                                 "@MerchantSysNo",
                                                                 QueryConditionOperatorType.Equal,
                                                                 filter.MerchantSysNo.Value);
                }
                if (filter.CouponSysNo.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                 "CouponSysNo",
                                                                 DbType.Int32,
                                                                 "@CouponSysNo",
                                                                 QueryConditionOperatorType.Equal,
                                                                 filter.CouponSysNo.Value);
                }
                #endregion
                EnumColumnList enumColList = new EnumColumnList();
                enumColList.Add("Status", typeof(SOStatus));
                enumColList.Add("NetPayStatus", typeof(ECCentral.BizEntity.Invoice.NetPayStatus));
                enumColList.Add("SOIncomeStatus", typeof(ECCentral.BizEntity.Invoice.SOIncomeStatus));
                enumColList.Add("SOPayStatus", typeof(ECCentral.BizEntity.Invoice.SOIncomeStatus));
                dataCommand.CommandText = sqlBuilder.BuildQuerySql();
                result     = dataCommand.ExecuteDataSet();
                totalCount = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount"));

                if (result.Tables[0] != null && result.Tables[0].Rows.Count > 0)
                {
                    result.Tables[0].Columns.Add("SOIncomeStatusText", typeof(string));
                    foreach (DataRow dr in result.Tables[0].Rows)
                    {
                        //int ippStatus = dr["Status"] != null && dr["Status"] != DBNull.Value ? (int)dr["Status"] : int.MinValue;
                        //if (ippStatus != int.MinValue)
                        //{
                        //    int isAutoRMA = dr["HaveAutoRMA"] != null && dr["HaveAutoRMA"] != DBNull.Value ? (int)dr["HaveAutoRMA"] : 0;

                        //    int isCombine = dr["IsCombine"] != null && dr["IsCombine"] != DBNull.Value ? (int)dr["IsCombine"] : 0;
                        //    int isMergeComplete = dr["IsMergeComplete"] != null && dr["IsMergeComplete"] != DBNull.Value ? (int)dr["IsMergeComplete"] : 0;
                        //    SOStatus status = Mapping_SOStatus_IPPToThis(ippStatus, isAutoRMA != 0, isCombine == 1, isMergeComplete == 1);
                        //    dr["Status"] = (int)status;
                        //}
                        string soIncomeStatusText = string.Empty;
                        // Set column value for SOIncomeStatusText
                        SOIncomeStatus?soIncomeStatus = dr.IsNull("SOPayStatus") ? new SOIncomeStatus?() : (SOIncomeStatus)dr["SOPayStatus"];
                        if ((int)dr["SOPayStatus"] == -1)
                        {
                            soIncomeStatusText = ECCentral.BizEntity.Enum.Resources.ResSOEnum.SOPayStatus__NotPay;
                        }
                        //NetPayStatus? netPayStatus = dr.IsNull("SOPayStatus") ? new NetPayStatus?() : (NetPayStatus)dr["SOPayStatus"];
                        else if ((int)dr["SOPayStatus"] == -999)
                        {
                            soIncomeStatusText = ECCentral.BizEntity.Enum.Resources.ResSOEnum.SOPayStatus__Paied;
                        }
                        else
                        {
                            soIncomeStatusText = EnumHelper.GetDescription(soIncomeStatus.Value);
                        }

                        dr["SOIncomeStatusText"] = soIncomeStatusText;
                    }
                }

                dataCommand.ConvertEnumColumn(result.Tables[0], enumColList);
            }
            return(result);
        }