123 lines
3.3 KiB
Java
123 lines
3.3 KiB
Java
package de.dis2013.editor;
|
|
|
|
import de.dis2013.core.ImmoService;
|
|
import de.dis2013.data.Makler;
|
|
import de.dis2013.menu.MaklerSelectionMenu;
|
|
import de.dis2013.menu.Menu;
|
|
import de.dis2013.util.FormUtil;
|
|
|
|
/**
|
|
* Klasse für die Menüs zur Verwaltung von Immobilien
|
|
*/
|
|
public class MaklerEditor {
|
|
///Immobilienservice, der genutzt werden soll
|
|
private ImmoService service;
|
|
|
|
public MaklerEditor(ImmoService service) {
|
|
this.service = service;
|
|
}
|
|
|
|
/**
|
|
* Zeigt die Maklerverwaltung
|
|
*/
|
|
public void showMaklerMenu() {
|
|
//Menüoptionen
|
|
final int NEW_MAKLER = 0;
|
|
final int EDIT_MAKLER = 1;
|
|
final int DELETE_MAKLER = 2;
|
|
final int BACK = 3;
|
|
|
|
//Maklerverwaltungsmenü
|
|
Menu maklerMenu = new Menu("Makler-Verwaltung");
|
|
maklerMenu.addEntry("Neuer Makler", NEW_MAKLER);
|
|
maklerMenu.addEntry("Makler bearbeiten", EDIT_MAKLER);
|
|
maklerMenu.addEntry("Makler löschen", DELETE_MAKLER);
|
|
maklerMenu.addEntry("Zurück zum Hauptmenü", BACK);
|
|
|
|
//Verarbeite Eingabe
|
|
while(true) {
|
|
int response = maklerMenu.show();
|
|
|
|
switch(response) {
|
|
case NEW_MAKLER:
|
|
newMakler();
|
|
break;
|
|
case EDIT_MAKLER:
|
|
editMakler();
|
|
break;
|
|
case DELETE_MAKLER:
|
|
deleteMakler();
|
|
break;
|
|
case BACK:
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Legt einen neuen Makler an, nachdem der Benutzer
|
|
* die entprechenden Daten eingegeben hat.
|
|
*/
|
|
private void newMakler() {
|
|
Makler m = new Makler();
|
|
|
|
m.setName(FormUtil.readString("Name"));
|
|
m.setAdresse(FormUtil.readString("Adresse"));
|
|
m.setLogin(FormUtil.readString("Login"));
|
|
m.setPasswort(FormUtil.readString("Passwort"));
|
|
service.addMakler(m);
|
|
|
|
System.out.println("Makler mit der ID "+m.getId()+" wurde erzeugt.");
|
|
}
|
|
|
|
/**
|
|
* Berarbeitet einen Makler, nachdem der Benutzer ihn ausgewählt hat
|
|
*/
|
|
private void editMakler() {
|
|
//Menü zum selektieren des Maklers
|
|
Menu maklerSelectionMenu = new MaklerSelectionMenu("Makler editieren", service.getAllMakler());
|
|
int id = maklerSelectionMenu.show();
|
|
|
|
//Falls nicht "zurück" gewählt, Makler bearbeiten
|
|
if(id != MaklerSelectionMenu.BACK) {
|
|
//Makler laden
|
|
Makler m = service.getMaklerById(id);
|
|
System.out.println("Makler "+m.getName()+" wird bearbeitet. Leere Felder bleiben unverändert.");
|
|
|
|
//Neue Daten abfragen
|
|
String new_name = FormUtil.readString("Name ("+m.getName()+")");
|
|
String new_address = FormUtil.readString("Adresse ("+m.getAdresse()+")");
|
|
String new_login = FormUtil.readString("Login ("+m.getLogin()+")");
|
|
String new_password = FormUtil.readString("Passwort ("+m.getPasswort()+")");
|
|
|
|
//Neue Daten setzen
|
|
if(!new_name.equals(""))
|
|
m.setName(new_name);
|
|
if(!new_address.equals(""))
|
|
m.setAdresse(new_address);
|
|
if(!new_login.equals(""))
|
|
m.setLogin(new_login);
|
|
if(!new_password.equals(""))
|
|
m.setPasswort(new_password);
|
|
|
|
service.editEstateAgent(m);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Löscht einen Makler, nachdem der Benutzer
|
|
* ihn ausgewählt hat.
|
|
*/
|
|
private void deleteMakler() {
|
|
//Menü zum selektieren des Maklers
|
|
Menu maklerSelectionMenu = new MaklerSelectionMenu("Makler löschen", service.getAllMakler());
|
|
int id = maklerSelectionMenu.show();
|
|
|
|
//Makler löschen falls nicht "zurück" ausgewählt wurde
|
|
if(id != MaklerSelectionMenu.BACK) {
|
|
Makler m = service.getMaklerById(id);
|
|
service.deleteMakler(m);
|
|
}
|
|
}
|
|
}
|