コード例 #1
0
        public IBenefitsPackage ApplyDiscount(IBenefitsPackage benefitsPackage, IEmployee employee)
        {
            var dependentDiscount = employee.Dependents
                .Where(x => x.Name.StartsWith(_configuration.DiscountNamePrefix, StringComparison.InvariantCultureIgnoreCase))
                .Select(x => _configuration.StandardBenefitPackageDiscount)
                .Sum();

            if (dependentDiscount > 0)
            {
                benefitsPackage.DependentCost = DiscountUtility.GetDiscount(benefitsPackage.DependentCost, dependentDiscount);
            }

            return benefitsPackage;
        }
コード例 #2
0
        public IBenefitsPackage ApplyDiscount(IBenefitsPackage benefitsPackage, IEmployee employee)
        {
            benefitsPackage = _dependentBenefitsPackageDiscountChain.ApplyDiscount(benefitsPackage, employee);

            var employeeDiscount = employee.Name.StartsWith(_configuration.DiscountNamePrefix, StringComparison.InvariantCultureIgnoreCase)
                ? _configuration.StandardBenefitPackageDiscount
                : 0;

            if (employeeDiscount > 0)
            {
                benefitsPackage.EmployeeCost = DiscountUtility.GetDiscount(benefitsPackage.EmployeeCost, employeeDiscount);
            }

            return benefitsPackage;
        }