public static int GetTotalSalary() { var listHoursWorked = LoadFromJson <Person> .GetListJson(FilePath.LIST_EMPLOYEES); var totalSalary = 0; foreach (var item in listHoursWorked) { if (item.position == Position.Manager) { totalSalary += ManagerFunc.GetSalary(item); } else { totalSalary += WorkerFunc.GetSalary(item); } } return(totalSalary); }
private void ManagerMenu(Person person) { HeadMenu(person); Console.WriteLine( "\tВыберите желаемое действие:\n" + "\t(1).Работа с собственным отчетом\n" + "\t(2).Добавить сотрудника\n" + "\t(3).Просмотреть отчет по всем сотрудникам за период\n" + "\t(4).Просмотреть отчет по конкретному сотруднику за период\n" + "\t(5).Получить итоговую сумму по зарплате всех сотрудников за месяц\n" + "\t(6).Сменить пользователя\n" + "\t(7).Выход из программы\n"); Console.Write("Ввод: "); //TODO: Проверить ввод пользователя. var userChoise = Console.ReadLine(); int.TryParse(userChoise, out int value); switch (value) { case 1: WorkerMenu(person); break; case 2: ManagerFunc.AddPersonal(); Done(); TopMenu(person); break; case 3: if (ValidControl.IsFileCreate(FilePath.LIST_EMPLOYEES_REPORT)) { MenuPeriodAllPerson(person); } TopMenu(person); break; case 4: if (ValidControl.IsFileCreate(FilePath.LIST_EMPLOYEES_REPORT)) { var userPerson = ValidControl.GetPerson(); if (userPerson != null) { MenuPeriod(person, userPerson); } TopMenu(person); } TopMenu(person); break; case 5: Console.WriteLine($"Итоговая сумма к выплатам: {ManagerFunc.GetTotalSalary()}р."); Done(); TopMenu(person); break; case 6: List <Person> listPerson = LoadFromJson <Person> .GetListJson(FilePath.LIST_EMPLOYEES); LoginMenu(listPerson); break; case 7: Environment.Exit(0); break; default: break; } ManagerMenu(person); }
private void MenuPeriod(Person person, Person userPerson) { HeadMenu(person); Console.Write($"Отчет по: "); Console.ForegroundColor = ConsoleColor.Red; Console.Write($"{userPerson.name} {userPerson.secondName}"); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(); Console.WriteLine( "\n\tВыберите желаемый период:\n" + "\t(1).День\n" + "\t(2).Неделя\n" + "\t(3).Месяц\n" + "\t(4).Указать период\n" + "\t(5).За все время\n" + "\t(6).Выход из программы\n"); Console.Write("Ввод: "); //TODO: Проверить ввод пользователя. var userChoise = Console.ReadLine(); int.TryParse(userChoise, out int value); switch (value) { case 1: Console.WriteLine(); ManagerFunc.GetWorkInfo(Convert.ToDateTime(DateTime.Now.ToShortDateString()), userPerson); Done(); TopMenu(person); break; case 2: var weak = new TimeSpan(7, 0, 0, 0); var weakAgo = Convert.ToDateTime(DateTime.Now - weak); ManagerFunc.GetWorkInfo(weakAgo, userPerson); Done(); TopMenu(person); break; case 3: var month = new TimeSpan(DateTime.Now.Day, 0, 0, 0); var monthAgo = Convert.ToDateTime(DateTime.Now - month); ManagerFunc.GetWorkInfo(monthAgo, userPerson); Done(); TopMenu(person); break; case 4: if (GetUserPeriod(out DateTime StartTime, out DateTime EndTime)) { ManagerFunc.GetWorkInfo(StartTime, EndTime); } else { Done(); MenuPeriod(person, userPerson); } Done(); TopMenu(person); break; case 5: ManagerFunc.GetWorkInfo(userPerson); Done(); TopMenu(person); break; case 6: Environment.Exit(0); break; default: break; } }