public void Visit(Leader leader, decimal budget)
        {
            var employees = leader.GetEmployees();

            var totalSalary = leader.GetTotalSalary();

            leader.Salary += CalculateBudget(budget, leader.Salary, totalSalary);

            foreach (var employee in employees)
            {
                var employeeBudget = CalculateBudget(budget, employee.GetTotalSalary(), totalSalary);
                employee.UpgradeSalary(employeeBudget);
            }
        }
 public void Visit(Leader leader, int depth = 0)
 {
     Console.WriteLine();
     PrintEmployeeDetails(leader, depth, ConsoleColor.Yellow);
     leader.GetEmployees().ForEach(c => c.PrintDetails(depth + 1));
 }