public async Task <PrimeNGBarChartDTO> GetTop10HighestEmployeeDedcutions(int companyId) { var ret = new PrimeNGBarChartDTO(); var employees = await employeeDL.GetAllEmployeesForComapnyAsync(companyId); if (employees != null) { foreach (var employee in employees) { employee.TotalDeduction = EmployeeBenifitsUtility.GetEmployeeDeductionCost(employee); } employees = employees.OrderByDescending(x => x.TotalDeduction).ToList(); employees = employees.Take(10).ToList(); ret.labels = employees.Select(x => x.FirstName + " " + x.LastName).ToList(); var dataset = new PrimeNGBarChartDataSetDTO { label = "Highest Employee Deductions", backgroundColor = AppConstants.AppColor.Primary, borderColor = "#1E88E5", data = employees.Select(x => x.TotalDeduction).ToList() }; ret.datasets = new List <PrimeNGBarChartDataSetDTO> { dataset }; } return(ret); }
private double GetTotalForYearDeductionsForEmployees(List <EmployeeDTO> employees) { double total = 0.0; foreach (var employee in employees) { total += EmployeeBenifitsUtility.GetEmployeeDeductionCost(employee); } return(total); }
public void GetEmployeeDeductionCost_NoEmployeeDependentsAndEmployeeNameStartsWithA_Returns900USD() { var employeeDTO = new EmployeeDTO { FirstName = "Ashley", LastName = "Ohemeng", Email = null, Password = "******", UserTypeId = 2 }; var result = EmployeeBenifitsUtility.GetEmployeeDeductionCost(employeeDTO); Assert.AreEqual(900.00, result); }
public void GetEmployeeDeductionCost_NoEmployeeDependentsAndEmployeesNameDoesntStartWithA_Returns1000USD() { // Arrange var employeeDTO = new EmployeeDTO { FirstName = "kwabena", LastName = "Ohemeng", Email = null, Password = "******", UserTypeId = 2 }; // Act var result = EmployeeBenifitsUtility.GetEmployeeDeductionCost(employeeDTO); // Assert Assert.AreEqual(1000.00, result); }
public void GetEmployeeDeductionCost_OneDependentAndBothEmpployeeAndDependentsNameStartWithA_Returns1500USD() { var employeeDTO = new EmployeeDTO { FirstName = "Ashley", LastName = "Ohemeng", Email = null, Password = "******", UserTypeId = 2, Dependents = new List <EmployeeDependentDTO> { new EmployeeDependentDTO { FirstName = "Able", LastName = "Ohemeng" } } }; var result = EmployeeBenifitsUtility.GetEmployeeDeductionCost(employeeDTO); Assert.AreEqual(1350, result); }