Package de.dis2011.editor

Source Code of de.dis2011.editor.PersonEditor

package de.dis2011.editor;

import de.dis2011.core.ImmoService;
import de.dis2011.data.Person;
import de.dis2011.menu.Menu;
import de.dis2011.menu.PersonSelectionMenu;
import de.dis2011.util.FormUtil;

/**
* Klasse für die Menüs zur Verwaltung von Personen
*/
public class PersonEditor {
  ///Immobilienservice, der genutzt werden soll
  /**
   * @uml.property  name="service"
   * @uml.associationEnd  multiplicity="(1 1)"
   */
  private ImmoService service;
 
  public PersonEditor(ImmoService service) {
    this.service = service;
  }
 
  /**
   * Zeigt die Personenverwaltung
   */
  public void showPersonMenu() {
    //Menüoptionen
    final int NEW_PERSON = 0;
    final int EDIT_PERSON = 1;
    final int DELETE_PERSON = 2;
    final int BACK = 3;
   
    //Personenverwaltungsmenü
    Menu maklerMenu = new Menu("Personen-Verwaltung");
    maklerMenu.addEntry("Neue Person", NEW_PERSON);
    maklerMenu.addEntry("Person bearbeiten", EDIT_PERSON);
    maklerMenu.addEntry("Person löschen", DELETE_PERSON);
    maklerMenu.addEntry("Zurück zum Hauptmenü", BACK);
   
    //Verarbeite Eingabe
    while(true) {
      int response = maklerMenu.show();
     
      switch(response) {
        case NEW_PERSON:
          newPerson();
          break;
        case EDIT_PERSON:
          editPerson();
          break;
        case DELETE_PERSON:
          deletePerson();
          break;
        case BACK:
          return;
      }
    }
  }
 
  /**
   * Legt eine neue Person an, nachdem der Benutzer
   * die entprechenden Daten eingegeben hat.
   */
  public void newPerson() {
    Person p = new Person();
   
    p.setVorname(FormUtil.readString("Vorname"));
    p.setNachname(FormUtil.readString("Nachname"));
    p.setAdresse(FormUtil.readString("Adresse"));
    service.addPerson(p);
   
    System.out.println("Person mit der ID "+p.getId()+" wurde erzeugt.");
  }
 
  /**
   * Editiert eine Person, nachdem der Benutzer sie ausgewählt hat
   */
  public void editPerson() {
    //Personenauswahlmenü
    Menu personSelectionMenu = new PersonSelectionMenu("Person bearbeiten", service.getAllPersons());
    int id = personSelectionMenu.show();
   
    //Person barbeiten?
    if(id != PersonSelectionMenu.BACK) {
      //Person laden
      Person p = service.getPersonById(id);
      System.out.println("Person "+p.getVorname()+" "+p.getNachname()+" wird bearbeitet. Leere Felder bleiben unverändert.");
     
      //Neue Daten einlesen
      String newVorname = FormUtil.readString("Vorname ("+p.getVorname()+")");
      String newNachname = FormUtil.readString("Nachname ("+p.getNachname()+")");
      String newAddress = FormUtil.readString("Adresse ("+p.getAdresse()+")");
     
      //Neue Daten setzen
      if(!newVorname.equals(""))
        p.setVorname(newVorname);
      if(!newNachname.equals(""))
        p.setNachname(newNachname);
      if(!newAddress.equals(""))
        p.setAdresse(newAddress);
     
      service.editPerson(p);
    }
  }
 
  /**
   * Löscht eine Person, nachdem der Benutzer
   * die entprechende ID eingegeben hat.
   */
  public void deletePerson() {
    //Auswahl der Person
    Menu personSelectionMenu = new PersonSelectionMenu("Person bearbeiten", service.getAllPersons());
    int id = personSelectionMenu.show();
   
    //Löschen, falls nicht "zurück" gewählt wurde
    if(id != PersonSelectionMenu.BACK) {
      Person p = service.getPersonById(id);
      service.deletePerson(p);
    }
  }
}
TOP

Related Classes of de.dis2011.editor.PersonEditor

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.