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; } } }
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; } } }