コード例 #1
0
ファイル: ManagerFunc.cs プロジェクト: MaksSov/SalaryCalc
        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);
        }
コード例 #2
0
ファイル: MenuInterface.cs プロジェクト: MaksSov/SalaryCalc
        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);
        }
コード例 #3
0
ファイル: MenuInterface.cs プロジェクト: MaksSov/SalaryCalc
        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;
            }
        }