public void CalculateDiscount(IBenefitPerson person) { if (QualifiesForDiscount(person as IBenefitPerson)) { ApplyDiscount(person as IBenefitPerson); } }
private void CalculateForIndividual(IBenefitPerson person, BenefitInfo benefitsSummary) { _benefitDiscountPolicy.CalculateDiscount(person); benefitsSummary.BaseAnnualCost += person.Benefits.BaseAnnualCost; benefitsSummary.DiscountedAnnualCost += person.Benefits.DiscountedAnnualCost; benefitsSummary.DiscountApplied = benefitsSummary.DiscountApplied || person.Benefits.DiscountApplied; }
private bool QualifiesForDiscount(IBenefitPerson person) { bool result = false; if (!string.IsNullOrWhiteSpace(person.FirstName) && person.FirstName.ToLower()[0] == 'a') { result = true; } return(result); }
private void ApplyDiscount(IBenefitPerson benefitEligiblePerson) { benefitEligiblePerson.Benefits.DiscountedAnnualCost = benefitEligiblePerson.Benefits.BaseAnnualCost * .9M; benefitEligiblePerson.Benefits.DiscountApplied = true; }