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); }
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}"); } }
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}"); } }