public void Search_OnSettledAt()
{
TransactionRequest request = new TransactionRequest
{
Amount = SandboxValues.TransactionAmount.AUTHORIZE,
CreditCard = new TransactionCreditCardRequest
{
Number = SandboxValues.CreditCardNumber.VISA,
ExpirationDate = "05/2010"
},
Options = new TransactionOptionsRequest
{
SubmitForSettlement = true
}
};
Transaction transaction = gateway.Transaction.Sale(request).Target;
gateway.TestTransaction.Settle(transaction.Id);
transaction = gateway.Transaction.Find(transaction.Id);
DateTime threeDaysEarlier = DateTime.Now.AddDays(-3);
DateTime oneDayEarlier = DateTime.Now.AddDays(-1);
DateTime oneDayLater = DateTime.Now.AddDays(1);
TransactionSearchRequest searchRequest = new TransactionSearchRequest().
Id.Is(transaction.Id).
SettledAt.Between(oneDayEarlier, oneDayLater);
Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount);
searchRequest = new TransactionSearchRequest().
Id.Is(transaction.Id).
SettledAt.GreaterThanOrEqualTo(oneDayEarlier);
Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount);
searchRequest = new TransactionSearchRequest().
Id.Is(transaction.Id).
SettledAt.LessThanOrEqualTo(oneDayLater);
Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount);
searchRequest = new TransactionSearchRequest().
Id.Is(transaction.Id).
SettledAt.Between(threeDaysEarlier, oneDayEarlier);
Assert.AreEqual(0, gateway.Transaction.Search(searchRequest).MaximumCount);
}