public void Init() { //Arrange _salaryFactory = new SalaryFactory(); _employeeClientService = Substitute.For <IEmployeeClientService>(); _employeeDtoManager = new EmployeeDtoManager(_salaryFactory); _employeeManager = new EmployeeManager(_employeeClientService, _employeeDtoManager); }
public void AnnualSalaryHourlyTest() { double hourlySalary = 10; double MonthlySalary = 50; double annualSalaryExpected = 14400; ISalaryFactory salaryFactoryObject = SalaryFactory.SalaryFactoryCreator(EContractType.HourlySalaryEmployee, hourlySalary, MonthlySalary); double annualSalaryActual = salaryFactoryObject.GetAnnualSalary(); Assert.AreEqual(annualSalaryExpected, annualSalaryActual, 0.001, "Annual salary is incorrect"); }
public async Task <List <EmployeeModel> > GetAllEmployees <T>() { List <EmployeeModel> employees = await _employeeClient.GetEmployees <EmployeeModel>(); if (employees.Count() > default(int)) { foreach (var item in employees) { ISalaryFactory salaryFactoryObject = SalaryFactory.SalaryFactoryCreator((EContractType)Enum.Parse(typeof(EContractType), item.ContractTypeName, true), item.HourlySalary, item.MonthlySalary); item.AnnualSalary = salaryFactoryObject.GetAnnualSalary(); } } return(employees); }
public IEnumerable <EmployeeDTO> getCalculatedSalaryByEmployee(IEnumerable <EmployeeDTO> employees, SalaryFactory factory) { foreach (var item in employees) { if (item.contractTypeName == "HourlySalaryEmployee") { ISalaryFactory factoryHourly = factory.GetCalculatedSalary(item.contractTypeName); item.AnnualSalary = factoryHourly.calculateSalary(item.hourlySalary); } else if (item.contractTypeName == "MonthlySalaryEmployee") { ISalaryFactory factoryMonthly = factory.GetCalculatedSalary(item.contractTypeName); item.AnnualSalary = factoryMonthly.calculateSalary(item.monthlySalary); } } return(employees); }
public EmployeeLogic(IEmployeeService employeeService, ISalaryFactory salaryFactory) { this.employeeService = employeeService; this.salaryFactory = salaryFactory; }
public EmployeeDtoManager(ISalaryFactory salaryFactory) { this._salaryFactory = salaryFactory; }
public EmployeeService(IEmployeeRepository employeeRepository, ISalaryFactory salaryFactory) { this._employeeRepository = employeeRepository; this._salaryFactory = salaryFactory; }
/// <summary> /// Class constructor /// </summary> /// <param name="employeeRepository"></param> /// <param name="salaryFactory"></param> public EmployeeService(IEmployeeRepository employeeRepository, ISalaryFactory salaryFactory) { _employeeRepository = employeeRepository ?? throw new ArgumentNullException(nameof(employeeRepository)); _salaryFactory = salaryFactory ?? throw new ArgumentNullException(nameof(salaryFactory)); }