Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }