Exemple #1
0
        public void getCalculatedSalaryByEmployee_WithEmployeeMonthlySalary_ReturnMonthlySalaryX12()
        {
            // Arrange
            List <EmployeeDTO> employees = new List <EmployeeDTO>()
            {
                new EmployeeDTO()
                {
                    id = 2, name = "Pedro",
                    contractTypeName = "MonthlySalaryEmployee", roleId = 1,
                    roleName         = "Contractor", roleDescription = "",
                    hourlySalary     = 50000, monthlySalary = 400000
                }
            };

            EmployeeDomain domain  = new EmployeeDomain();
            SalaryFactory  factory = new ConcreteSalaryFactory();

            // Act
            var calculatedEmployeeSalary = domain.getCalculatedSalaryByEmployee(employees, factory).ToList();

            decimal actual = calculatedEmployeeSalary[0].AnnualSalary;

            // Assert
            decimal expected = 4800000;

            Assert.AreEqual(expected, actual);
        }
Exemple #2
0
        public EmployeeDTO getEmployeeById(int id)
        {
            try
            {
                IEnumerable <EmployeeDTO> employees = getAllEmployees();
                SalaryFactory             factory   = new ConcreteSalaryFactory();
                var employeesCalaculatedSalary      = getCalculatedSalaryByEmployee(employees, factory);

                var singleEmployee = employeesCalaculatedSalary.Where(e => e.id == id).FirstOrDefault();
                return(singleEmployee);
            }
            catch (Exception ex)
            {
                throw new Exception($"System Error: {ex.Message}");
            }
        }
Exemple #3
0
        public IEnumerable <EmployeeDTO> getEmployees()
        {
            try
            {
                IEnumerable <EmployeeDTO> employees = getAllEmployees();

                SalaryFactory factory = new ConcreteSalaryFactory();
                var           employeesCalaculatedSalary = getCalculatedSalaryByEmployee(employees, factory);

                return(employeesCalaculatedSalary);
            }
            catch (Exception ex)
            {
                throw new Exception($"System Error: {ex.Message}");
            }
        }