using System; using BWP.ABCClient.Businesses.Type; using BWP.ABCClient.Exceptions; using BWP.ABCClient.Market; namespace BWP.ABCClient.Businesses { public class MarketOrderApply : BusinessBase { public MarketOrderApply() : base(BusinessTypes.Market) { RequestObj = OrderApplyRequest.New(); } public string BuyerCustomer { get; set; } public string BuyerCustName { get; set; } public string SalerCustomer { get; set; } public string SalerCustName { get; set; } public string PaymentUrl { get; set; } protected override void AfterRequest() { var errorMessage = ResponseObj.Message.Control.ReturnMessage ?? string.Empty ; Log.AddNewLine(string.Format("交易结果:[{0}]", ResponseObj.Message.Control.ReturnCode)); Log.AddNewLine(string.Format("返回信息:[{0}]", errorMessage)); Log.Commit(); if (ResponseObj.Message.Control.ReturnCode != "0000") { throw new ResponseException(ResponseObj.Message.Control.ReturnCode, errorMessage); } PaymentUrl=ResponseObj.Message.Parameters.ReturnURL; } protected override void BeforeRequest() { if (string.IsNullOrEmpty(SequenceNo)) { throw new Exception("交易流水号不能为空,SequenceNo"); } if (string.IsNullOrEmpty(BuyerCustomer)) { throw new Exception("付款帐户不能为空,BuyerCustomer"); } if (string.IsNullOrEmpty(BuyerCustName)) { throw new Exception("付款人不能为空,BuyerCustName"); } if (string.IsNullOrEmpty(SalerCustomer)) { throw new Exception("收款帐户不能为空,SalerCustomer"); } if (string.IsNullOrEmpty(SalerCustName)) { throw new Exception("收款人不能为空,SalerCustName"); } RequestObj.Message.Control.MerchantID = MerchantID; RequestObj.Message.Control.MerchantTrxNo = SequenceNo; RequestObj.Message.Parameters.OrderNo = SequenceNo; RequestObj.Message.Parameters.BuyerCustName = BuyerCustName; RequestObj.Message.Parameters.BuyerCustomer = BuyerCustomer; RequestObj.Message.Parameters.SalerCustName = SalerCustName; RequestObj.Message.Parameters.SalerCustomer = SalerCustomer; RequestObj.Message.Parameters.PayAmount = Amount.ToString("f2"); } } }