/// <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 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 uint EmployeeRatePositiveTest(uint workTime, uint salary, uint rate) { EmployeeRate employeeRate = new EmployeeRate(workTime, salary, rate); return(employeeRate.Payroll); }
public string EmployeeRateTypePositiveTest(uint workTime, uint salary, uint rate) { EmployeeRate employeeRate = new EmployeeRate(workTime, salary, rate); return(employeeRate.Type); }