private EmployeeDto Map(Employee employee) { EmployeeDto dto = new EmployeeDto(); dto.Id = employee.Id; dto.Name = employee.Name; dto.ContractType = employee.ContractTypeName; dto.RoleName = employee.RoleName; dto.RoleDescription = employee.RoleDescription ?? "-"; switch (employee.ContractTypeName) { case "MonthlySalaryEmployee": _contractFactory = new MonthlyContractFactory(employee.MonthlySalary); break; case "HourlySalaryEmployee": _contractFactory = new HourlyContractFactory(employee.HourlySalary); break; default: break; } IContract _contract = _contractFactory.GetContract(); dto.Salary = _contract.CalculateSalary(); return(dto); }
public async Task <List <EmployeeDTO> > GetEmployeesDTO() { List <EmployeeDTO> employeesDTO = new List <EmployeeDTO>(); List <Employee> employees = await this.employeeService.GetEmployees(); foreach (Employee empl in employees) { Contract contract = ContractFactory.ContractCreator(empl); employeesDTO.Add(this.MapperEmployeeToEmployeeDTO(empl, contract)); } return(employeesDTO); }