You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

63 lines
1.8 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BWP.ABCClient.Businesses;
using System.Globalization;
namespace BWP.ABCClient.B2C.OnlineRemits
{
public class OnlineRemitQueryResultRequest:OnlineRemitBaseRequest
{
public string SerialNumber { get; set; }
public string ReceiveAccount { get; set; }
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
protected override void checkRequest()
{
if (string.IsNullOrEmpty(SerialNumber) && string.IsNullOrEmpty(ReceiveAccount))
{
throw new OnlineRemitException("1100", "商户提交的交易资料不合法", "付款流水号和收款方账号同时为空");
}
if (StartDate == null)
{
throw new OnlineRemitException("1101", "商户提交的交易资料不合法", "起始日期格式不正确");
}
if (EndDate == null)
{
throw new OnlineRemitException("1101", "商户提交的交易资料不合法", "截止日期格式不正确");
}
}
protected override XmlDocument createMessage()
{
return new XmlDocument(new StringBuilder("")
.Append("<TrxRequest>")
.Append("<TrxType>OnlineRmtQueryResult</TrxType>")
.AppendFormat("<SerialNumber>{0}</SerialNumber>",SerialNumber)
.AppendFormat("<ReceiveAccount>{0}</ReceiveAccount>",ReceiveAccount)
.AppendFormat("<StartTime>{0}</StartTime>",FormatDate(StartDate.Value))
.AppendFormat("<EndTime>{0}</EndTime>",FormatDate(EndDate.Value))
.Append("</TrxRequest>").ToString());
}
private string FormatDate(DateTime date)
{
return date.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture);
}
public OnlineRemitQueryResultResponse GetResponse()
{
var message = base.Send();
return new OnlineRemitQueryResultResponse(message);
}
}
}