public void Search_OnProcessorDeclinedAt()
{
TransactionRequest request = new TransactionRequest
{
Amount = SandboxValues.TransactionAmount.DECLINE,
CreditCard = new TransactionCreditCardRequest
{
Number = SandboxValues.CreditCardNumber.VISA,
ExpirationDate = "05/2010"
}
};
Transaction transaction = gateway.Transaction.Sale(request).Transaction;
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).
ProcessorDeclinedAt.Between(oneDayEarlier, oneDayLater);
Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount);
searchRequest = new TransactionSearchRequest().
Id.Is(transaction.Id).
ProcessorDeclinedAt.GreaterThanOrEqualTo(oneDayEarlier);
Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount);
searchRequest = new TransactionSearchRequest().
Id.Is(transaction.Id).
ProcessorDeclinedAt.LessThanOrEqualTo(oneDayLater);
Assert.AreEqual(1, gateway.Transaction.Search(searchRequest).MaximumCount);
searchRequest = new TransactionSearchRequest().
Id.Is(transaction.Id).
ProcessorDeclinedAt.Between(threeDaysEarlier, oneDayEarlier);
Assert.AreEqual(0, gateway.Transaction.Search(searchRequest).MaximumCount);
}