Пример #1
0
        public IEnumerable <RefundFailedRecord> Query(RefundFailedRecordQueryCondition condition, Pagination pagination)
        {
            var result       = new List <RefundFailedRecord>();
            var fields       = "OrderId,ApplyformId,BusinessType,PayTradeNo,RefundTime,ErrorMsg";
            var catelog      = "dbo.T_RefundFailedInfo";
            var orderbyFiled = "RefundTime";

            var where = new StringBuilder();
            if (condition.OrderId.HasValue)
            {
                where.AppendFormat("OrderId={0} AND ", condition.OrderId.Value);
            }
            if (condition.ApplyformId.HasValue)
            {
                where.AppendFormat("ApplyformId={0} AND ", condition.ApplyformId.Value);
            }
            if (condition.BusinessType.HasValue)
            {
                where.AppendFormat("BusinessType={0} AND ", (byte)condition.BusinessType.Value);
            }
            where.AppendFormat("RefundTime BETWEEN '{0}' AND '{1}'", condition.RefundDateRange.Lower.Date, condition.RefundDateRange.Upper.Date.AddDays(1).AddTicks(-1));
            using (var dbOperator = new DbOperator(Provider, ConnectionString)) {
                dbOperator.AddParameter("@iField", fields);
                dbOperator.AddParameter("@iCatelog", catelog);
                dbOperator.AddParameter("@iCondition", where.ToString());
                dbOperator.AddParameter("@iOrderBy", orderbyFiled);
                dbOperator.AddParameter("@iPagesize", pagination.PageSize);
                dbOperator.AddParameter("@iPageIndex", pagination.PageIndex);
                dbOperator.AddParameter("@iGetCount", pagination.GetRowCount);
                var totalCount = dbOperator.AddParameter("@oTotalCount");
                totalCount.DbType    = System.Data.DbType.Int32;
                totalCount.Direction = System.Data.ParameterDirection.Output;
                using (var reader = dbOperator.ExecuteReader("dbo.P_Pagination", System.Data.CommandType.StoredProcedure)) {
                    while (reader.Read())
                    {
                        result.Add(new RefundFailedRecord()
                        {
                            OrderId          = reader.GetDecimal(0),
                            ApplyformId      = reader.GetDecimal(1),
                            BusinessType     = (RefundBusinessType)reader.GetByte(2),
                            PayTradeNo       = reader.IsDBNull(3) ? string.Empty : reader.GetString(3),
                            RefundTime       = reader.GetDateTime(4),
                            RefundFailedInfo = reader.GetString(5)
                        });
                    }
                }
                if (pagination.GetRowCount)
                {
                    pagination.RowCount = (int)totalCount.Value;
                }
            }
            return(result);
        }
Пример #2
0
        private RefundFailedRecordQueryCondition getCondition()
        {
            var condition = new RefundFailedRecordQueryCondition
            {
                RefundDateRange =
                    new Range <DateTime>(DateTime.Parse(txtStartDate.Text), DateTime.Parse(txtEndDate.Text))
            };

            if (!string.IsNullOrWhiteSpace(ddlBusinessType.SelectedValue))
            {
                condition.BusinessType = (RefundBusinessType)byte.Parse(ddlBusinessType.SelectedValue);
            }
            if (!string.IsNullOrEmpty(txtApplyFormId.Text.Trim()))
            {
                condition.ApplyformId = decimal.Parse(txtApplyFormId.Text.Trim());
            }
            if (!string.IsNullOrEmpty(txtOrderId.Text.Trim()))
            {
                condition.ApplyformId = decimal.Parse(txtOrderId.Text.Trim());
            }

            return(condition);
        }
Пример #3
0
        /// <summary>
        /// 查询退款失败记录
        /// </summary>
        /// <param name="condition">查询条件</param>
        /// <param name="pagination">分页信息</param>
        public static IEnumerable <RefundFailedRecord> QueryRefundFailedRecords(RefundFailedRecordQueryCondition condition, Pagination pagination)
        {
            var repository = Factory.CreateRefundRepository();

            return(repository.Query(condition, pagination));
        }