void toonPersoonsgegevens() { Persoon p = selecteerPersoon(); if (p == null) { System.out.println("persoon onbekend"); } else { System.out.println(p.beschrijving()); } }
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()); } }
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; }
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()); } }
@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; }
@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(); } }