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; } } }
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ść."); } } }