示例#1
0
 void toonPersoonsgegevens() {
   Persoon p = selecteerPersoon();
   if (p == null) {
     System.out.println("persoon onbekend");
   } else {
     System.out.println(p.beschrijving());
   }
 }
示例#2
0
 private void showStamboom() {
   Persoon p = selecteerPersoon();
   if (p == null) {
     System.out.println("persoon onbekend");
   } else {
     System.out.println(String.format("Stamboom heeft %s personen", p.afmetingStamboom()));
     System.out.println(p.stamboomAlsString());
   }
 }
示例#3
0
 Persoon selecteerPersoon() {
   String naam = readString("wat is de achternaam");
   ArrayList<Persoon> personen = getAdmin().getPersonenMetAchternaam(naam);
   for (Persoon p : personen) {
     System.out.println(p.getNr() + "\t" + p.getNaam() + " " + datumString(p.getGebDat()));
   }
   int invoer = readInt("selecteer persoonsnummer");
   input.nextLine();
   Persoon p = getAdmin().getPersoon(invoer);
   return p;
 }
示例#4
0
 Gezin selecteerGezin() {
   String naam = readString("gezin van persoon met welke achternaam");
   ArrayList<Persoon> kandidaten = getAdmin().getPersonenMetAchternaam(naam);
   for (Persoon p : kandidaten) {
     List<Gezin> gezinnen = p.getAlsOuderBetrokkenIn();
     System.out.print(p.getNr() + "\t" + p.getNaam() + " " + datumString(p.getGebDat()));
     System.out.print(" gezinnen: ");
     for (Gezin gezin : gezinnen) {
       System.out.print(" " + gezin.getNr());
     }
     System.out.println();
   }
   int invoer = readInt("selecteer gezinsnummer");
   input.nextLine();
   return getAdmin().getGezin(invoer);
 }
  private void showPersoon(Persoon persoon) {
    if (persoon == null) {
      clearTabPersoon();
    } else {
      tfPersoonNr.setText(persoon.getNr() + "");
      tfVoornamen.setText(persoon.getVoornamen());
      tfTussenvoegsel.setText(persoon.getTussenvoegsel());
      tfAchternaam.setText(persoon.getAchternaam());
      tfGeslacht.setText(persoon.getGeslacht().toString());
      tfGebDatum.setText(StringUtilities.datumString(persoon.getGebDat()));
      tfGebPlaats.setText(persoon.getGebPlaats());
      if (persoon.getOuderlijkGezin() != null) {
        cbOuderlijkGezin.getSelectionModel().select(persoon.getOuderlijkGezin());
      } else {
        cbOuderlijkGezin.getSelectionModel().clearSelection();
      }
      // todo opgave 3

      this.alsOuderBetrokkenIn =
          FXCollections.observableArrayList(persoon.getAlsOuderBetrokkenIn());

      ArrayList<Persoon> pList = new ArrayList<Persoon>();
      for (Gezin g : persoon.getAlsOuderBetrokkenIn()) {
        pList.addAll(g.getKinderen());
      }

      this.kinderen = FXCollections.observableArrayList(pList);

      lvAlsOuderBetrokkenBij.setItems(this.getAlsOuderBetrokkenIn());
    }
  }
示例#6
0
  @Override
  public Administratie load() throws IOException {
    Administratie administratie = new Administratie();
    // todo opgave 4
    try {
      initConnection();

      Statement statement = null;
      statement = conn.createStatement();
      ResultSet rs = statement.executeQuery("SELECT * FROM Persoon;");
      while (rs.next()) {
        int nr = rs.getInt("persoonsnummer");
        String[] voornamen = rs.getString("voornamen").split(" ");
        String achternaam = rs.getString("achternaam");
        String tussenvoegsel = rs.getString("tussenvoegsel");

        Calendar gebDat = Calendar.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
        gebDat.setTime(sdf.parse(rs.getString("geboortedatum")));

        String gebPlaats = rs.getString("geboorteplaats");
        Geslacht geslacht = Geslacht.valueOf(rs.getString("geslacht"));
        Gezin ouderlijkGezin = null;

        administratie.addPersoon(
            geslacht, voornamen, achternaam, tussenvoegsel, gebDat, gebPlaats, null);
      }
      statement = conn.createStatement();
      rs = statement.executeQuery("SELECT * FROM Gezin;");
      while (rs.next()) {
        int ouder1NR = rs.getInt("ouder1");
        int ouder2NR = rs.getInt("ouder2");

        Persoon ouder1 = administratie.getPersoon(ouder1NR);
        Persoon ouder2 = administratie.getPersoon(ouder2NR);

        administratie.addOngehuwdGezin(ouder1, ouder2);

        String huwelijksDatumString = rs.getString("huwelijksdatum");

        if (!huwelijksDatumString.isEmpty()) {
          Calendar huwelijksDatum = Calendar.getInstance();
          SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
          huwelijksDatum.setTime(sdf.parse(rs.getString("huwelijksdatum")));

          administratie.setHuwelijk(
              administratie.getGezin(rs.getInt("gezinsnummer")), huwelijksDatum);
        }

        String scheidingsDatumString = rs.getString("scheidingsdatum");

        if (!scheidingsDatumString.isEmpty()) {
          Calendar scheidingsDatum = Calendar.getInstance();
          SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
          scheidingsDatum.setTime(sdf.parse(rs.getString("scheidingsdatum")));

          administratie.setScheiding(
              administratie.getGezin(rs.getInt("gezinsnummer")), scheidingsDatum);
        }
      }
      statement = conn.createStatement();
      rs = statement.executeQuery("SELECT persoonsnummer,ouders FROM persoon;");
      while (rs.next()) {
        int persoonsnummer = rs.getInt("persoonsnummer");
        int ouderNR = rs.getInt("ouders");
        Persoon persoon = administratie.getPersoon(persoonsnummer);
        Gezin gezin = administratie.getGezin(ouderNR);
        if (gezin != null) {
          persoon.setOuderlijkGezin(gezin);
        }
      }

    } catch (SQLException e) {
      e.printStackTrace();
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    } catch (ParseException e) {
      e.printStackTrace();
    } finally {
      String fuckthis = " FUUUUUUUCK";
      // closeConnection();
    }
    return administratie;
  }
示例#7
0
  @Override
  public void save(Administratie admin) throws IOException {
    // todo opgave 4

    try {
      initConnection();

      for (Persoon p : admin.getPersonen()) {
        Statement statement = null;

        statement = conn.createStatement();
        // set timeout to 30 sec
        statement.setQueryTimeout(30);

        String ouderlijkGezin = "";

        if (p.getOuderlijkGezin() != null) {
          ouderlijkGezin = String.valueOf(p.getOuderlijkGezin().getNr());
        }

        String query =
            String.format(
                "INSERT INTO `Persoon` VALUES(%d,'%s','%s','%s','%s','%s','%s','%s');",
                p.getNr(),
                p.getVoornamen(),
                p.getAchternaam(),
                p.getTussenvoegsel(),
                p.getGebDat().getTime().toString(),
                p.getGebPlaats(),
                p.getGeslacht().toString(),
                ouderlijkGezin);
        statement.executeUpdate(query);

        statement.close();
      }

      for (Gezin g : admin.getGezinnen()) {
        Statement statement = null;

        statement = conn.createStatement();
        // set timeout to 30 sec
        statement.setQueryTimeout(30);

        String huwelijksDatum = "";
        String scheidingsDatum = "";
        int ouder2 = -1;

        if (g.getOuder2() != null) {
          ouder2 = g.getOuder2().getNr();
        }
        if (g.getHuwelijksdatum() != null) {
          huwelijksDatum = g.getHuwelijksdatum().getTime().toString();
        }

        if (g.getScheidingsdatum() != null) {
          scheidingsDatum = g.getScheidingsdatum().getTime().toString();
        }

        String query =
            String.format(
                "INSERT INTO `Gezin` VALUES(%d,%d,%d,'%s','%s');",
                g.getNr(), g.getOuder1().getNr(), ouder2, huwelijksDatum, scheidingsDatum);
        statement.executeUpdate(query);

        statement.close();
      }

    } catch (SQLException e) {

      e.printStackTrace();
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    } finally {
      // closeConnection();

    }
  }