private bool ExecutePremiumPayment(CreditCard creditCard) { paymentServiceProvider = paymentProviderFactory.DelegatePaymentServiceProvider(PaymentProviders.PremiumPaymentService); int retryAttempts = 3; return(paymentServiceProvider.FulfillPayment(creditCard, retryAttempts)); }
private bool ExecuteExpensivePayment(CreditCard creditCard) { paymentServiceProvider = paymentProviderFactory.DelegatePaymentServiceProvider(PaymentProviders.ExpensivePaymentService); int retryAttempts = 1; bool paymentFulfilled = paymentServiceProvider.FulfillPayment(creditCard, retryAttempts); if (!paymentFulfilled) { paymentFulfilled = ExecuteCheapPayment(creditCard, retryAttempts); } return(paymentFulfilled); }