示例#1
0
        public async Task <List <EmployeeDTO> > Handle(GetEmployeesQuery request, CancellationToken cancellationToken)
        {
            var employees = await _employeesRepository.GetEmployees();

            List <EmployeeDTO> employeeDTOList = new List <EmployeeDTO>();

            foreach (var employee in employees)
            {
                employeeDTOList.Add(EmployeeDTOCreator.Create(employee));
            }

            return(employeeDTOList);
        }
        public async Task <List <EmployeeDTO> > Handle(GetEmployeeByIdQuery request, CancellationToken cancellationToken)
        {
            var employees = await _employeesRepository.GetEmployees();

            Employee employee = employees.Where(x => x.Id == request.EmployeeId).FirstOrDefault();

            List <EmployeeDTO> employeeDTOList = new List <EmployeeDTO> {
            };

            if (employee != null)
            {
                employeeDTOList.Add(EmployeeDTOCreator.Create(employee));
            }

            return(employeeDTOList);
        }
示例#3
0
        public void CalculateAnualSalaryTest()
        {
            // Arrange
            Employee hourlySalaryEmployee = new Employee()
            {
                Id               = 1,
                Name             = "Andrea",
                ContractTypeName = "HourlySalaryEmployee",
                RoleId           = 1,
                RoleName         = "Administrator",
                RoleDescription  = "-",
                HourlySalary     = 10000,
                MonthlySalary    = 50000
            };

            Employee monthlySalaryEmployee = new Employee()
            {
                Id               = 2,
                Name             = "Alex",
                ContractTypeName = "MonthlySalaryEmployee",
                RoleId           = 2,
                RoleName         = "Contractor",
                RoleDescription  = "-",
                HourlySalary     = 10000,
                MonthlySalary    = 50000
            };

            var expectedAnualSalaryForHourlySalary  = hourlySalaryEmployee.HourlySalary * 120 * 12;
            var expectedAnualSalaryForMonthlySalary = monthlySalaryEmployee.MonthlySalary * 12;

            // Act

            var hourlySalaryEmployeeDTO  = EmployeeDTOCreator.Create(hourlySalaryEmployee);
            var monthlySalaryEmployeeDTO = EmployeeDTOCreator.Create(monthlySalaryEmployee);

            var actualAnualSalaryForHourlyEmployee  = hourlySalaryEmployeeDTO.anualSalary;
            var actualAnualSalaryForMonthlyEmployee = monthlySalaryEmployeeDTO.anualSalary;

            // Assert
            Assert.AreEqual(expectedAnualSalaryForHourlySalary, actualAnualSalaryForHourlyEmployee);
            Assert.AreEqual(expectedAnualSalaryForMonthlySalary, actualAnualSalaryForMonthlyEmployee);
        }