Package de.dis2011.editor

Source Code of de.dis2011.editor.VertragsEditor

package de.dis2011.editor;

import java.util.Iterator;
import java.util.Set;

import de.dis2011.core.ImmoService;
import de.dis2011.data.Haus;
import de.dis2011.data.Kaufvertrag;
import de.dis2011.data.Makler;
import de.dis2011.data.Mietvertrag;
import de.dis2011.data.Person;
import de.dis2011.data.Wohnung;
import de.dis2011.menu.AppartmentSelectionMenu;
import de.dis2011.menu.HouseSelectionMenu;
import de.dis2011.menu.Menu;
import de.dis2011.menu.PersonSelectionMenu;
import de.dis2011.util.FormUtil;
import de.dis2011.util.Helper;

/**
* Klasse für die Menüs zur Verwaltung von Verträgen
*/
public class VertragsEditor {
  ///Immobilien-Service, der genutzt werden soll
  /**
   * @uml.property  name="service"
   * @uml.associationEnd  multiplicity="(1 1)"
   */
  private ImmoService service;
 
  ///Makler, zu dessen Immobilien Verträge geschlossen werden dürfen
  /**
   * @uml.property  name="verwalter"
   * @uml.associationEnd  multiplicity="(1 1)"
   */
  private Makler verwalter;
 
  public VertragsEditor(ImmoService service, Makler verwalter) {
    this.service = service;
    this.verwalter = verwalter;
  }
 
  /**
   * Vertragsmenü
   */
  public void showVertragsMenu() {
    //Menüoptionen
    final int NEW_LEASING_CONTRACT = 0;
    final int NEW_SALE_CONTRACT = 1;
    final int SHOW_CONTRACTS = 2;
    final int BACK = 3;
   
    //Vertragsverwaltung
    Menu maklerMenu = new Menu("Vertrags-Verwaltung");
    maklerMenu.addEntry("Neuer Mietvertrag", NEW_LEASING_CONTRACT);
    maklerMenu.addEntry("Neuer Kaufvertrag", NEW_SALE_CONTRACT);
    maklerMenu.addEntry("Verträge ansehen", SHOW_CONTRACTS);
   
    maklerMenu.addEntry("Zurück zum Hauptmenü", BACK);
   
    //Verarbeite Eingabe
    while(true) {
      int response = maklerMenu.show();
     
      switch(response) {
        case NEW_LEASING_CONTRACT:
          newMietvertrag();
          break;
        case NEW_SALE_CONTRACT:
          newKaufvertrag();
          break;
        case SHOW_CONTRACTS:
          zeigeVertraege();
          break;
        case BACK:
          return;
      }
    }
  }
 
  public void zeigeVertraege() {
    //Mietverträge anzeigen
    System.out.println("Mietverträge\n-----------------");
    Set<Mietvertrag> mvs = service.getAllMietvertraegeForMakler(verwalter);
    Iterator<Mietvertrag> itmv = mvs.iterator();
    while(itmv.hasNext()) {
      Mietvertrag mv = itmv.next();
      System.out.println("Mietvertrag "+mv.getVertragsnummer()+"\n"+
              "\tGeschlossen am "+Helper.dateToString(mv.getDatum())+" in "+mv.getOrt()+"\n"+
              "\tMieter:        "+mv.getVertragspartner().getVorname()+" "+mv.getVertragspartner().getNachname()+"\n"+
              "\tWohnung:       "+mv.getWohnung().getStrasse()+" "+mv.getWohnung().getHausnummer()+", "+mv.getWohnung().getPlz()+" "+mv.getWohnung().getOrt()+"\n"+
              "\tMietbeginn:    "+Helper.dateToString(mv.getMietbeginn())+", Dauer: "+mv.getDauer()+" Monate\n"+
              "\tMietpreis:     "+mv.getWohnung().getMietpreis()+" Euro, Nebenkosten: "+mv.getNebenkosten()+" Euro\n");
    }
   
    System.out.println("");
   
    //Kaufverträge anzeigen
    System.out.println("Kaufverträge\n-----------------");
    Set<Kaufvertrag> kvs = service.getAllKaufvertraegeForMakler(verwalter);
    Iterator<Kaufvertrag> itkv = kvs.iterator();
    while(itkv.hasNext()) {
      Kaufvertrag kv = itkv.next();
      System.out.println("Kaufvertrag "+kv.getVertragsnummer()+"\n"+
              "\tGeschlossen am "+Helper.dateToString(kv.getDatum())+" in "+kv.getOrt()+"\n"+
              "\tMieter:        "+kv.getVertragspartner().getVorname()+" "+kv.getVertragspartner().getNachname()+"\n"+
              "\tHaus:          "+kv.getHaus().getStrasse()+" "+kv.getHaus().getHausnummer()+", "+kv.getHaus().getPlz()+" "+kv.getHaus().getOrt()+"\n"+
              "\tKaufpreis:     "+kv.getHaus().getKaufpreis()+" Euro\n"+
              "\tRaten:         "+kv.getAnzahlRaten()+", Ratenzins: "+kv.getRatenzins()+"%\n");
    }
  }
 
 
  /**
   * Menü zum anlegen eines neuen Mietvertrags
   */
  public void newMietvertrag() {
    //Alle Wohnungen des Maklers finden
    Set<Wohnung> wohnungen = service.getAllWohnungenForMakler(verwalter);
   
    //Auswahlmenü für die Wohnungen
    AppartmentSelectionMenu asm = new AppartmentSelectionMenu("Wohnung für Vertrag auswählen", wohnungen);
    int wid = asm.show();
   
    //Falls kein Abbruch: Auswahl der Person
    if(wid != AppartmentSelectionMenu.BACK) {
      //Alle Personen laden
      Set<Person> personen = service.getAllPersons();
     
      //Menü zur Auswahl der Person
      PersonSelectionMenu psm = new PersonSelectionMenu("Person für Vertrag auswählen", personen);
      int pid = psm.show();
     
      //Falls kein Abbruch: Vertragsdaten abfragen und Vertrag anlegen
      if(pid != PersonSelectionMenu.BACK) {
        Mietvertrag m = new Mietvertrag();
   
        m.setWohnung(service.getWohnungById(wid));
        m.setVertragspartner(service.getPersonById(pid));
        m.setVertragsnummer(FormUtil.readInt("Vertragsnummer"));
        m.setDatum(FormUtil.readDate("Datum"));
        m.setOrt(FormUtil.readString("Ort"));
        m.setMietbeginn(FormUtil.readDate("Mietbeginn"));
        m.setDauer(FormUtil.readInt("Dauer in Monaten"));
        m.setNebenkosten(FormUtil.readInt("Nebenkosten"));
       
        service.addMietvertrag(m);
       
        System.out.println("Mietvertrag mit der ID "+m.getId()+" wurde erzeugt.");
      }
    }
  }
 
  /**
   * Menü zum anlegen eines neuen Kaufvertrags
   */
  public void newKaufvertrag() {
    //Alle Häuser des Maklers finden
    Set<Haus> haeuser = service.getAllHaeuserForMakler(verwalter);
   
    //Auswahlmenü für das Haus
    HouseSelectionMenu asm = new HouseSelectionMenu("Haus für Vertrag auswählen", haeuser);
    int hid = asm.show();
   
    //Falls kein Abbruch: Auswahl der Person
    if(hid != AppartmentSelectionMenu.BACK) {
      //Alle Personen laden
      Set<Person> personen = service.getAllPersons();
     
      //Menü zur Auswahl der Person
      PersonSelectionMenu psm = new PersonSelectionMenu("Person für Vertrag auswählen", personen);
      int pid = psm.show();
     
      //Falls kein Abbruch: Vertragsdaten abfragen und Vertrag anlegen
      if(pid != PersonSelectionMenu.BACK) {
        Kaufvertrag k = new Kaufvertrag();
   
        k.setHaus(service.getHausById(hid));
        k.setVertragspartner(service.getPersonById(pid));
        k.setVertragsnummer(FormUtil.readInt("Vertragsnummer"));
        k.setDatum(FormUtil.readDate("Datum"));
        k.setOrt(FormUtil.readString("Ort"));
        k.setAnzahlRaten(FormUtil.readInt("Anzahl Raten"));
        k.setRatenzins(FormUtil.readInt("Ratenzins"));
       
        service.addKaufvertrag(k);
       
        System.out.println("Kaufvertrag mit der ID "+k.getId()+" wurde erzeugt.");
      }
    }
  }
}
TOP

Related Classes of de.dis2011.editor.VertragsEditor

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.