public static Employee GetEmployee(EmployeeDTO employeeDTO) { Employee employee = null; switch (employeeDTO.contractTypeName) { case "HourlySalaryEmployee": employee = new EmployeeHourly() { hourlySalary = employeeDTO.hourlySalary }; break; case "MonthlySalaryEmployee": employee = new EmployeeMonthly() { monthlySalary = employeeDTO.monthlySalary }; break; } employee.id = employeeDTO.id; employee.name = employeeDTO.name; employee.contractTypeName = employeeDTO.contractTypeName; employee.roleId = employeeDTO.roleId; employee.roleName = employeeDTO.roleName; employee.roleDescription = employeeDTO.roleDescription; return(employee); }
/// <summary> /// Консольный интерфейс зарплат /// </summary> static void Main(string[] args) { while (true) { Console.Clear(); Console.WriteLine( "\n------Main Menu------" + "\n1. Расчитать зарплату по ставке" + "\n2. Расчитать зарплату по часам" + "\n0. Выход" + "\n------Main Menu------"); Console.WriteLine("\n\n\nВыберите действие (1-2):\n>"); switch (CheckValidation("Нажатая цифра с клавиатуры соответствует выбранному действию")) { case 1: { EmployeeRate employeeRate = new EmployeeRate(CheckValidation("Введите время работы в месяц (в часах)"), CheckValidation("Введите месячный оклад"), CheckValidation("Введите норму часов в месяц")); Console.WriteLine($"Зарплата за {employeeRate.WorkTime}" + $" часов работы c окладом {employeeRate.Salary}" + $" и с нормой в {employeeRate.Rate} часов " + $"с учетом налога на доходы физических лиц:"); Console.WriteLine(employeeRate.Payroll); Console.WriteLine("Нажмите любую кнопку для продолжения работы"); Console.ReadKey(); break; } case 2: { EmployeeHourly employeeHourly = new EmployeeHourly(CheckValidation("Введите время работы в месяц (в часах)"), CheckValidation("Введите оплату за час работы")); Console.WriteLine($"Зарплата за {employeeHourly.WorkTime}" + $" часов работы c {employeeHourly.CostPerHour} за час работы:"); Console.WriteLine(employeeHourly.Payroll); Console.WriteLine("Нажмите любую кнопку для продолжения работы"); Console.ReadKey(); break; } } } }
public static IEmployeeGateway CreateEmployeeGateway(Employee employee) { IEmployeeGateway gateway; switch (employee.ContractTypeName) { case "HourlySalaryEmployee": gateway = new EmployeeHourly(employee); break; case "MonthlySalaryEmployee": default: gateway = new EmployeeMonthly(employee); break; } return(gateway); }
public void GetSalary(TypeSalary key, params uint[] value) { switch (key) { case TypeSalary.Hourly: { EmployeeBase salary = SalaryFactory.GetSalary(TypeSalary.Hourly, 140, 400); EmployeeHourly result = salary as EmployeeHourly; Assert.AreSame(salary, result); break; } case TypeSalary.Rate: { EmployeeBase salary = SalaryFactory.GetSalary(TypeSalary.Rate, 180, 100000, 180); EmployeeRate result = salary as EmployeeRate; Assert.AreSame(salary, result); break; } } }
public static Employee GetEmployee(ExternalEmployee externalEmployee) { Employee employee = null; if (externalEmployee != null) { if (externalEmployee.ContractTypeName == "HourlySalaryEmployee") { employee = new EmployeeHourly() { ContractTypeName = externalEmployee.ContractTypeName, Id = externalEmployee.Id, Name = externalEmployee.Name, RoleDescription = externalEmployee.RoleDescription, RoleId = externalEmployee.RoleId, RoleName = externalEmployee.RoleName, HourlySalary = externalEmployee.HourlySalary }; } else if (externalEmployee.ContractTypeName == "MonthlySalaryEmployee") { employee = new EmployeeMontly() { ContractTypeName = externalEmployee.ContractTypeName, Id = externalEmployee.Id, Name = externalEmployee.Name, RoleDescription = externalEmployee.RoleDescription, RoleId = externalEmployee.RoleId, RoleName = externalEmployee.RoleName, MonthlySalary = externalEmployee.MonthlySalary }; } } return(employee); }
public uint EmployeeHourlyPositiveTest(uint workTime, uint costPerHour) { EmployeeHourly employeeHourly = new EmployeeHourly(workTime, costPerHour); return(employeeHourly.Payroll); }
public uint EmployeeHourlyCostPerHourPositiveTest(uint workTime, uint costPerHour) { EmployeeHourly employeeRate = new EmployeeHourly(workTime, costPerHour); return(employeeRate.CostPerHour); }
public string EmployeeHourlyTypePositiveTest(uint workTime, uint costPerHour) { EmployeeHourly employeeRate = new EmployeeHourly(workTime, costPerHour); return(employeeRate.Type); }