コード例 #1
0
        public EmployeeSalaryInformation CalculateEmployeeSalary(EmployeeInformation inEmployeeInformation)
        {
            EmployeeSalaryInformation employeeSalaryInfo = CalculateEmployeeSalary(inEmployeeInformation.Employee);

            foreach (DependentDTO dependent in inEmployeeInformation.Dependents)
            {
                DependentBenefitCostInformation dependentsCostInfo = CalculateDependentBenefitCost(dependent);
                employeeSalaryInfo.SalaryAfterBenefitDeduction -= dependentsCostInfo.CostOfBenefit;
                employeeSalaryInfo.dependentsBenifitCostInfo.Add(dependentsCostInfo);
            }

            return(employeeSalaryInfo);
        }
コード例 #2
0
        /// <summary>
        /// clalulates cost of benefit for each dependent
        /// </summary>
        /// <param name="dependent"></param>
        /// <returns></returns>
        private DependentBenefitCostInformation CalculateDependentBenefitCost(DependentDTO dependent)
        {
            DependentBenefitCostInformation dependentsInfo = new DependentBenefitCostInformation();

            dependentsInfo.FullName      = string.Concat(dependent.FirstName + " " + dependent.LastName);
            dependentsInfo.CostOfBenefit = Utility.RoundUpDecimal((decimal)(dependent.CostOfBenefitAnnual / 26));

            if (DoesQualifyForDiscount(dependent.FirstName))
            {
                dependentsInfo.CostOfBenefit = ApplyDiscountPerPayCheck((decimal)dependent.PercentageOfDiscount, (decimal)dependent.CostOfBenefitAnnual);
            }

            return(dependentsInfo);
        }