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;
                }
            }
        }
예제 #2
0
        public static void EditionOperationMenu()
        {
            var isEditionMenuRunning = true;

            Console.Title = "RealEstate - Edit Menu";

            Console.WriteLine("Podaj numer ID wpisu który chcesz edytować:");
            while (isEditionMenuRunning)
            {
                if (int.TryParse(Console.ReadLine(), out var choice))
                {
                    //todo:
                    //tutaj przekazywane jest ID do backendu który zwraca pojedynczy obiekt RealEstate o właściwym ID
                    //jeśli nie ma wpisu o takim ID ma być zwracana o tym informacja
                    //jeśli obiekt został zwrócony jest on tutaj wyświetlany
                    //tu zwrócony z backendu opbiekt RealEstate może być zmieniany, ale roboczo jest tu tworzony nowy obiekt realestate
                    var realEstate = new RealEstate();
                    while (isEditionMenuRunning)
                    {
                        Console.Clear();
                        Console.WriteLine("Które pole chcesz zmienić?");
                        Console.WriteLine();
                        Console.WriteLine("1. Kategorię nieruchomości.");
                        Console.WriteLine("2. Cenę.");
                        Console.WriteLine("3. Powierzchnię.");
                        Console.WriteLine("4. Liczbę pokoi.");
                        Console.WriteLine("5. Imię i nazwisko właściciela.");
                        Console.WriteLine("6. Miejscowość.");
                        Console.WriteLine("7. Nazwę ulicy.");
                        Console.WriteLine("8. Adres.");
                        Console.WriteLine("9. Zatwierdź zmiany.");
                        Console.WriteLine();
                        Console.WriteLine("0. Wróć do głównego menu.");

                        //tu powinien się wyświetlać bieżący stan obiektu realestate
                        if (int.TryParse(Console.ReadLine(), out var editchoice))
                        {
                            switch (editchoice)
                            {
                            case 1:
                                AddMenu.UserSetEnum(realEstate);
                                break;

                            case 2:
                                AddMenu.UserSetPrice(realEstate);
                                break;

                            case 3:
                                AddMenu.UserSetArea(realEstate);
                                break;

                            case 4:
                                AddMenu.UserSetRoomsAmount(realEstate);
                                break;

                            case 5:
                                Console.WriteLine("Wpisz imię właściciela:");
                                realEstate.OwnerName = FilterMenu.SetStringFromConsole();
                                Console.WriteLine("Wpisz nazwisko właściciela:");
                                realEstate.OwnerSurname = FilterMenu.SetStringFromConsole();
                                break;

                            case 6:
                                Console.WriteLine("Wpisz nazwę miejscowości:");
                                realEstate.City = FilterMenu.SetStringFromConsole();
                                break;

                            case 7:
                                Console.WriteLine("Wpisz nazwę ulicy:");
                                realEstate.Street = FilterMenu.SetStringFromConsole();
                                break;

                            case 8:
                                Console.WriteLine("Wpisz nr domu, mieszkania:");
                                realEstate.EstateAddress = FilterMenu.SetStringFromConsole();
                                break;

                            case 9:
                                string changedLine = DatabaseContext.EditRecordInDatabase(realEstate, choice);
                                if (!String.IsNullOrEmpty(changedLine))
                                {
                                    DatabaseContext.saveLine(choice, changedLine);
                                }

                                Log insertLog = new Log(0, DateTime.Now, "Edited record of Real Estate", "worker");
                                Logger.AddLineToLog(insertLog);


                                isEditionMenuRunning = false;
                                break;

                            case 0:
                                isEditionMenuRunning = false;
                                break;

                            default:
                                break;
                            }
                        }
                        else
                        {
                            Console.WriteLine("Wpisz właściwą wartość.");
                        }
                    }
                }
                else
                {
                    Console.WriteLine("Wpisz właściwą wartość.");
                }
            }
        }