public override Address GetAddressFromPayEx(TransactionResult transactionResult) { return null; }
public abstract Address GetAddressFromPayEx(TransactionResult transactionResult);
public override Address GetAddressFromPayEx(TransactionResult transactionResult) { Log.InfoFormat("Attempting to retrieve address for PayEx transaction result: {0} for Invoice Ledger payment with ID:{1} belonging to order with ID: {2}", transactionResult, Payment.Id, OrderGroupId); if (transactionResult.Invoice == null || string.IsNullOrWhiteSpace(transactionResult.CustomerName)) { Log.ErrorFormat("TransactionResult must contain both an invoice element and a customer name in order to retrieve address for PayEx transaction result. Payment with ID:{1} belonging to order with ID: {2}", Payment.Id, OrderGroupId); return null; } string lastName = string.Empty; string[] names = transactionResult.Invoice.CustomerName.Split(' '); string firstName = names[0]; if (names.Length > 1) lastName = string.Join(" ", names.Skip(1)); Address address = new Address { FirstName = firstName, LastName = lastName, Line1 = transactionResult.Invoice.CustomerStreetAddress, PostCode = transactionResult.Invoice.CustomerPostNumber, City = transactionResult.Invoice.CustomerCity, Email = transactionResult.Invoice.CustomerEmail }; Log.InfoFormat("Successfully retrieved address:{0} from PayEx transaction result: {1} for Invoice Ledger payment with ID:{2} belonging to order with ID: {3}", address, transactionResult, Payment.Id, OrderGroupId); return address; }