public object ReturntheCalculatorMatchingEventType(string eventType) { _giftAidCalculatorFinder = new GiftAidCalculatorFinder(new List <IGiftAidCalculator>() { new GeneralGiftAidCalculator(), new SwimmingGiftAidCalculator() }); var calculator = _giftAidCalculatorFinder.Find(eventType); return(calculator.GetType()); }
public async Task <decimal> CalculateGiftAid(decimal donationAmount, string country, string eventType) { var taxList = await _taxRepository.GetTaxRate(country); if (!taxList.Any()) { return(0); } var giftAidCalculator = _giftAidCalculatorFinder.Find(eventType); return(giftAidCalculator.Calculate(donationAmount, country, taxList.Single())); }