public async Task <bool> PaymentGatewaySelectorLAsync(PaymentRequest payment) { if (payment.Amount > 20 && payment.Amount < 500) { var check = await _expensivePayment.ProcessExpensivePaymentAsync(payment); if (check == "Ok") { return(true); } else { return(false); } } else if (payment.Amount < 20) { var check = await _cheapPayment.ProcessCheapPaymentAsync(payment); if (check == "Ok") { return(true); } else { return(false); } } else if (payment.Amount > 500) { var check = await _expensivePayment.ProcessPremiumPaymentAsync(payment); if (check == "Ok") { return(true); } else { return(false); } } return(false); }