using System; using System.Globalization; using BWP.ABCClient.B2C; using BWP.ABCClient.Businesses.Type; using BWP.ABCClient.Exceptions; namespace BWP.ABCClient.Businesses { public class B2CSettleByDate : BusinessBase { public B2CSettleByDate() : base(BusinessTypes.B2C) { RequestObj = SettleRequest.New(); } public Record[] Records { get; set; } public string RecordsHexString { get; set; } protected override void AfterRequest() { Log.AddNewLine(string.Format("交易结果:[{0}]", ResponseObj.Message.TrxResponse.ReturnCode)); Log.AddNewLine(string.Format("返回信息:[{0}]", ResponseObj.Message.TrxResponse.ErrorMessage)); if (ResponseObj.Message.TrxResponse.ReturnCode != "0000") { Log.Commit(); throw new ResponseException(ResponseObj.Message.TrxResponse.ReturnCode, ResponseObj.Message.TrxResponse.ErrorMessage); } Log.Commit(); Records = ResponseObj.Message.TrxResponse.DetailRecords; RecordsHexString = ResponseObj.Message.TrxResponse.ZIPDetailRecords; } protected override void BeforeRequest() { if (Date == null) { throw new Exception("查询的日期不能为空,Date"); } RequestObj.Message.Merchant.MerchantID = MerchantID; RequestObj.Message.TrxRequest.SettleDate = Date.Value.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture); RequestObj.Message.TrxRequest.SettleType = SettleType.TRX; } } public class SettleType { public const string SETTLE = "SETTLE"; public const string TRX = "TRX"; public const string TRX_BYHOUR = "TRXBYHOUR"; } }