Esempio n. 1
0
        public static void FilterOperationMenu(UserSession userSession)
        {
            var isFilterMenuRunning = true;
            var isFilterBeingMade   = false;

            Filter filter = new Filter();

            while (isFilterMenuRunning)
            {
                Console.Clear();
                if (userSession.UserType == 3)
                {
                    Console.Title = "RealEstate - Filter Menu | " + UserSession.DisplayCurrentUser(userSession);
                }
                else
                {
                    Console.Title = "RealEstate - Filter Menu";
                }

                Console.WriteLine("Jakie nieruchomości chcesz wyświetlić?");
                Console.WriteLine();
                Console.WriteLine("1. Wyświetl wszystkie nieruchomości.");
                Console.WriteLine("2. Filtruj nieruchomości przez kategorię.");
                Console.WriteLine("3. Filtruj nieruchomości przez właściciela.");
                Console.WriteLine("4. Filtruj nieruchomości przez miejscowość.");
                Console.WriteLine("5. Filtruj nieruchomości przez nazwę ulicy.");
                Console.WriteLine("6. Filtruj nieruchomości w danym zakresie cenowym.");
                Console.WriteLine("7. Filtruj nieruchomości w danym zakresie powierzchni.");
                Console.WriteLine("8. Filtruj nieruchomości po liczbie pokoi.");
                Console.WriteLine("9. Filtruj nieruchomości których wpisy zostały dodane w danym zakresie czasu.");
                Console.WriteLine("10. Filtruj nieruchomości których wpisy zostały zmienione w danym zakresie czasu.");
                Console.WriteLine();
                if (isFilterBeingMade)
                {
                    Console.WriteLine("11. Wyświetl tylko nieruchomości z aktywnymi filtrami.");
                    Console.WriteLine("12. Porzuć obecne filtry.");
                    Console.WriteLine();
                    Console.WriteLine("Obecne filtry:");
                    Console.WriteLine("---");
                    filter.ShowActiveFilters();
                    Console.WriteLine("---");
                    Console.WriteLine();
                }
                Console.WriteLine("0. Wróć do głównego menu.");
                Console.WriteLine();

                if (int.TryParse(Console.ReadLine(), out var choice))
                {
                    switch (choice)
                    {
                    case 1:

                        Filter emptyFilter = new Filter();
                        RealEstatesView.Display(DatabaseContext.RealEstatesFilter(emptyFilter));
                        //przekazujemy pusty nowo stworzony filtr do backendu jako argument funkcji
                        //backend zwraca właściwie dobraną listę obiektów RealEstate które Display() formatuje i tu wyświetla
                        break;

                    case 2:
                        LetUserSetEnum(filter);

                        isFilterBeingMade = true;
                        break;

                    case 3:
                        Console.WriteLine("Wpisz imię właściciela:");
                        filter.OwnerName = SetStringFromConsole();
                        Console.WriteLine("Wpisz nazwisko właściciela:");
                        filter.OwnerSurname = SetStringFromConsole();

                        isFilterBeingMade = true;
                        break;

                    case 4:
                        Console.WriteLine("Wpisz nazwę miejscowości:");
                        filter.City = SetStringFromConsole();

                        isFilterBeingMade = true;
                        break;

                    case 5:
                        Console.WriteLine("Wpisz nazwę ulicy:");
                        filter.Street = SetStringFromConsole();

                        isFilterBeingMade = true;
                        break;

                    case 6:
                        LetUserSetPriceSpan(filter);

                        isFilterBeingMade = true;
                        break;

                    case 7:
                        LetUserSetAreaSpan(filter);

                        isFilterBeingMade = true;
                        break;

                    case 8:
                        LetUserSetRoomAmountSpan(filter);

                        isFilterBeingMade = true;
                        break;

                    case 9:
                        LetUserSetDateSpan(filter, true);

                        isFilterBeingMade = true;
                        break;

                    case 10:
                        LetUserSetDateSpan(filter, false);

                        isFilterBeingMade = true;
                        break;

                    case 11:
                        if (isFilterBeingMade)
                        {
                            RealEstatesView.Display(DatabaseContext.RealEstateChoice(filter));
                            //przekazujemy istniejący filtr do backendu jako argument funkcji
                            //pola nie wypełnione przez użytkownika (null) w obiekcie filter nie mają być brane pod uwagę
                            //backend zwraca właściwie dobraną listę obiektów RealEstate które Display() formatuje i tu wyświetla
                        }
                        break;

                    case 12:
                        if (isFilterBeingMade)
                        {
                            filter.FilterReset();
                            isFilterBeingMade = false;
                        }
                        break;

                    case 0:
                        isFilterMenuRunning = false;
                        break;

                    default:
                        break;
                    }
                }
            }
        }
        public static void MainMenu(UserSession userSession)
        {
            //Zależnie od typu zalogowanego użytkownika zmienia się ilość opcji

            //Tutaj ma być console.writeline z wyjaśnieniem jakie użytkownik ma opcje i jak je aktywować

            //Ze wszystkich menu powinno dać się wyjść przyciskiem (np ESC) przed sfinalizowaniem anulując zmiany

            //task 4
            //FilterOperationMenu()
            //wyświetlenie listy nieruchomości (wszystkich albo wg filtrów uzyskanych przez zadane pytania do użytkownika)
            //jedyna opcja dla klienta, pracownik biura nieruchomości

            //AddOperationMenu()
            //dodawanie nieruchomośći (pytania o wszystkie pola nieruchomości)
            //tylko pracownik biura nieruchomości

            //RemoveOperationMenu()
            //usuwanie nieruchomości (wystarczy podać ID nieruchomości)
            //tylko pracownik biura nieruchomości

            //EditionOperationMenu()
            //edycja nieruchomości (wystarczy podać ID nieruchomości a potem seria pytań o to które pola edytować)
            //tylko pracownik biura nieruchomości



            //wyloguj się
            //powrót do start menu

            bool menuRuns = true;


            while (menuRuns)
            {
                Console.Clear();

                Console.Title = "Main Menu | " + UserSession.DisplayCurrentUser(userSession);
                Console.WriteLine("Podaj numer operacji, którą chcesz wykonać");
                Console.WriteLine();
                Console.WriteLine("1. Filtrowanie listy nieruchomości");
                Console.WriteLine("2. Dodawanie nowej nieruchomości");
                Console.WriteLine("3. Usuwanie nieruchomości z listy");
                Console.WriteLine("4. Edytowanie listy nieruchomości");
                Console.WriteLine("5. Wyloguj się");

                int choice;

                int.TryParse(Console.ReadLine(), out choice);

                switch (choice)
                {
                case 1:
                    FilterMenu.FilterOperationMenu(userSession);
                    break;

                case 2:
                    AddMenu.AddOperationMenu();
                    break;

                case 3:
                    RemoveMenu.RemoveOperationMenu();
                    break;

                case 4:
                    EditionMenu.EditionOperationMenu();
                    break;

                case 5:
                    menuRuns = false;
                    break;

                default:
                    Console.WriteLine("Wpisz poprawną wartość.");
                    break;
                }
            }
        }
Esempio n. 3
0
        public static void AdminMainMenu(UserSession userSession)
        {
            //opcje zarządzania użytkownikami
            //tylko ADMIN
            //wyświetlanie wszystkich użytkowników
            //edycja użytkowników
            //dodawanie użytkowników
            //usuwanie użytkowników
            //opcja przeglądania logów systemowych
            //tylko ADMIN
            //opcja wylogowania się, powrót do StartMenu
            //wyloguj się
            //powrót do start menu
            Console.BackgroundColor = ConsoleColor.Gray;
            Console.ForegroundColor = ConsoleColor.White;

            bool menuRuns = true;


            while (menuRuns)
            {
                Console.Clear();
                Console.Title = "Menu administratora | " + UserSession.DisplayCurrentUser(userSession);
                Console.WriteLine("Menu administracji użytkownikami");
                Console.WriteLine("0. Pokaż widok logów systemowych");
                Console.WriteLine("1. Pokaz wszystkich użytkownikow");
                Console.WriteLine("2. Dodawanie użytkownika");
                Console.WriteLine("3. Usuwanie użytkownika");
                Console.WriteLine("4. Edytowanie użytkownika");
                Console.WriteLine("5. Wyjdz");
                int choice;
                int.TryParse(Console.ReadLine(), out choice);
                switch (choice)
                {
                case 0:
                    LogView.LogList(Logger.DisplayLogList());
                    break;

                case 1:
                    UsersView.ListOfUsers((UserDatabaseContext.ListOfUser()));
                    break;

                case 2:
                    NewUserMenu.AddUser();
                    break;

                case 3:
                    RemoveUserMenu.RemoveUser();
                    break;

                case 4:
                    EditUserMenu.EditionOperationMenu();
                    break;

                case 5:
                    Console.BackgroundColor = ConsoleColor.Black;
                    Console.ForegroundColor = ConsoleColor.White;
                    menuRuns = false;
                    break;

                default:
                    break;
                }
            }
        }