Exemple #1
0
        public void EmployeeMenu()
        {
            int?choice = MenuUtils.GetIntChoice(MenuUtils.EmployeeMenu(), 1, 3);

            PrintFromDb <Employee>((EmployeeContext db) => {
                return(db.Employees.AsNoTracking().ToList());
            });

            switch (choice)
            {
            case 1:
                SalaryChargeMenu((EmployeeContext db) =>
                {
                    return(db.Employees.AsNoTracking().Sum(x => x.Salary));
                }, EmployeeMenu);
                break;

            case 2:
                EmployeeMenuFiltered();
                break;

            case 3:
                MainMenu();
                break;

            default:
                break;
            }
        }
Exemple #2
0
        public void SalaryChargeMenu(Func <EmployeeContext, float> func, Action backMenu)
        {
            int?choice = MenuUtils.GetIntChoice(MenuUtils.SalaryChargeMenu(), 1, 2);

            switch (choice)
            {
            case 1:
                using (var db = new EmployeeContext())
                {
                    try
                    {
                        Console.WriteLine(func.Invoke(db) + "€");
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e);
                    }
                }
                break;

            case 2:
                backMenu.Invoke();
                break;

            default:
                break;
            }
        }
Exemple #3
0
        public void MainMenu()
        {
            int?choice = null;

            do
            {
                choice = MenuUtils.GetIntChoice(MenuUtils.BaseChoiceMenu(), 1, 4);
                switch (choice)
                {
                case 1:
                    EmployeeMenu();
                    break;

                case 2:
                    ServiceMenu();
                    break;

                case 3:
                    using (var db = new EmployeeContext())
                    {
                        Console.WriteLine(db.Employees.AsNoTracking().Sum(x => x.Salary));
                    }
                    break;

                case 4:
                    Environment.Exit(0);
                    break;

                default:
                    break;
                }
            } while (true);
        }
Exemple #4
0
        private void EmployeeMenuFilteredByFunction()
        {
            string choice = MenuUtils.GetString("Function");

            PrintFromDb <Employee>((EmployeeContext db) => {
                return(db.Employees.AsNoTracking().Where(x => x.Function.Contains(choice)).ToList());
            });
            SalaryChargeMenu((EmployeeContext db) =>
            {
                return(db.Employees.Where(x => x.Function.Contains(choice)).Sum(x => x.Salary));
            }, EmployeeMenuFiltered);
        }
Exemple #5
0
        private void ServiceMenu()
        {
            PrintFromDb <Service>((EmployeeContext db) => {
                return(db.Services.AsNoTracking().ToList());
            });

            int?serviceId = MenuUtils.GetIntChoice("Choose service by id", 1, int.MaxValue);

            int?choice = MenuUtils.GetIntChoice(MenuUtils.ServiceMenu(), 1, 3);

            Console.WriteLine("Service " + serviceId + " selected");
            PrintFromDb <Service>((EmployeeContext db) => {
                return(db.Services.AsNoTracking().Where(x => x.ServiceId == serviceId).ToList());
            });

            switch (choice)
            {
            case 1:
                PrintFromDb <Employee>((EmployeeContext db) => {
                    return(db.Employees.AsNoTracking().Where(x => x.Department.ServiceId == serviceId).ToList());
                });
                SalaryChargeMenu((EmployeeContext db) =>
                {
                    return(db.Employees.AsNoTracking().Include(x => x.Department).Where(x => x.Department.ServiceId == serviceId).Sum(x => x.Salary));
                }, ServiceMenu);
                break;

            case 2:
                using (var db = new EmployeeContext())
                {
                    if (db.Employees.Include(x => x.Department).Where(x => x.Department.ServiceId == serviceId).Count() > 0)
                    {
                        Console.WriteLine(db.Employees.Include(x => x.Department).Where(x => x.Department.ServiceId == serviceId).Sum(x => x.Salary));
                    }
                }
                break;

            case 3:
                MainMenu();
                break;

            default:
                break;
            }
        }
Exemple #6
0
        public void EmployeeMenuFiltered()
        {
            int?choice = MenuUtils.GetIntChoice(MenuUtils.EmployeeFilterMenu(), 1, 3);

            switch (choice)
            {
            case 1:
                EmployeeMenuFilteredByLastname();
                break;

            case 2:
                EmployeeMenuFilteredByFunction();
                break;

            case 3:
                EmployeeMenu();
                break;

            default:
                break;
            }
        }