示例#1
0
        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);
        }
示例#2
0
        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);
        }