protected override PaymentResult ExecutePaymentProcess(PaymentDataBase paymentData) { CreditCardPaymentData creditCardData = paymentData as CreditCardPaymentData; CreditCardResult authResult = this.creditCardProcessor.AuthorizeCreditCard(creditCardData.CreditCardNumber, creditCardData.ExpirationDate, creditCardData.Cvv, creditCardData.BillingZipCode, creditCardData.Amount); if (authResult.Authorized == true) { int referenceNumber = paymentsDao.SaveSuccessfulCreditCardPayment(creditCardData, authResult); PaymentResult paymentResult = new PaymentResult() { CustomerAccountNumber = creditCardData.CustomerAccountNumber, PaymentDate = creditCardData.PaymentDate, Success = authResult.Authorized, ReferenceNumber = referenceNumber }; return(paymentResult); } else { int referenceNumber = paymentsDao.SaveFailedCreditCardPayment(creditCardData, authResult); PaymentResult paymentResult = new PaymentResult() { CustomerAccountNumber = creditCardData.CustomerAccountNumber, PaymentDate = creditCardData.PaymentDate, Success = authResult.Authorized, ReferenceNumber = referenceNumber }; return(paymentResult); } }
protected override PaymentResult ExecutePaymentProcess(PaymentDataBase paymentData) { CheckPaymentData checkPaymentData = paymentData as CheckPaymentData; int referenceNumber = this.paymentsDao.SaveCheckPayment(checkPaymentData); PaymentResult paymentResult = new PaymentResult() { CustomerAccountNumber = checkPaymentData.CustomerAccountNumber, PaymentDate = checkPaymentData.PaymentDate, Success = true, ReferenceNumber = referenceNumber }; return(paymentResult); }