Docstoc

Projecten I

Document Sample
Projecten I Powered By Docstoc
					Projecten I: dossier:

1.Omschrijving van het dossier

Het project is een geautomatiseerd reservatiesysteem, dat gebruikt wordt aan de balie van een
hotel om snel een foutloos een boeking in te schrijven en dubbele boekingen te vermijdende
functies zijn:
-Een kamer boeken
-Een kamer reserveren
-Een actueel overzicht genereren van de beschikbare/geboekte/bezette kamers
-Een factuur per klant maken
-Makkelijk een klant zoeken/toevoegen/verwijderen




1
2.ERD




2
3. Relationeel model




3
4.MSAccess-tabellen




4
5.Handleiding van de applicatie

5
    -Login scherm




Dit is het eerste scherm dat men ziet bij het opstarten van de applicatie
Hier voert men de persoonlijke gebruikersID en wachtwoord in,

-Registratiescherm




Hier kan men een nieuwe gebruiker aanmaken, dit scherm kan voor de veiligheid enkel
opgeroepen worden vanuit het hoofdscherm , dus er moet eerst ingeloged worden door een
bestaande gebruiker vooraleer een nieuwe gebruiker aangemaakt kan worden




6
-Hoofdscherm




Dit is het belangrijkste scherm van het programma. De hoofdfuncties, Klant toevoegen, klant
boeken, klant verwijderen zijn hier beschikbaar aan de linkerkant, samen met de zoekfunctie
Aan de rechterkant is het mogelijk om een actueel overzicht van de kamers te generen en van
de klanten die ingechecked zijn of geboekt hebben

Ook is het hier mogelijk een factuur te maken, de taal te wijzigen en nieuwe gebruikers te
registreren.




-Klant toevoegen:


7
Dit is het scherm dat wordt opgeroepen om een nieuwe klant te registreren.
De medewerker vult alle gegevens in en worden in de database geplaatst. En in het actuele
overzicht van de klanten




-boeking toevoegen


8
De klanten die toegevoegd zijn komen automatisch in dit, boeking toevoegen-scherm
Bij ‘Klant:’ en krijgen een nummer toegewezen , waarna de wensen over de kamer en de rest
van de specificaties kunnen worden ingevuld.

-Kameroverzicht




Dit is Het actuele overzicht van de kamers. Als een klant wordt toegevoegd in een lege kamer
wordt deze kamer omgezet naar een bezette kamer.




9
-Klantoverzicht




Dit is het overzicht van de klanten, gewoon een lijst in een tabel, met direct ook de
mogelijkheid om een klant te selecteren en een factuur te maken

-Factuur maken




-Klant Verwijderen


10
Het klantverwijderen scherm werkt eenvoudig maar effectief, voer het klantnummer in en de
klant wordt uit de database verwijderd.




-Klant Zoeken




In dit scherm kan een klant in de lijst met klanten gezocht worden Op voornaam, achternaam,
en gemeente.

-Taal wijzigen




11
Dit is het scherm om de taal te wijzigen, er is keuze tussen 3 talen.




6.KlassenDiagrammen




12
Opbouw van het project in packages:




Com: automatisch gegenereerd door Jigloo
Domein:




13
Gui:




14
Lib: afbeeldingen
Model Folder: automatisch




Persistentie:


15
7.CODE
Domein
* @author Stefan Eeckhoudt
 * @version 1.0
 */

package domein;

import java.util.GregorianCalendar;

public class Boeking {


          private int boekingsNr;
          private int klantNr;
          private int catNr;
          private int kamerNr;
          private int dataNr;
          private int factNr;
          private GregorianCalendar factuurdatum;
          private int personen;
          private GregorianCalendar boekingsdatum;
          private GregorianCalendar vertrekdatum;
          private GregorianCalendar aankomstdatum;
          private int creditnotaNr;
          private GregorianCalendar creditnotadatum;
          private String toestand;

          public Boeking(int boekingsNr, int klantNr, int catNr, int kamerNr, int dataNr, int factNr, GregorianCalendar factuurdatum, int
personen, GregorianCalendar boekingsdatum, GregorianCalendar vertrekdatum, GregorianCalendar aankomstdatum, int creditnotaNr,
GregorianCalendar creditnotadatum) {
                    super();
                    this.boekingsNr = boekingsNr;
                    this.klantNr = klantNr;
                    this.catNr = catNr;
                    this.kamerNr = kamerNr;
                    this.dataNr = dataNr;
                    this.factNr = factNr;
                    this.factuurdatum = factuurdatum;
                    this.personen = personen;
                    this.boekingsdatum = boekingsdatum;
                    this.vertrekdatum = vertrekdatum;
                    this.aankomstdatum = aankomstdatum;
                    this.creditnotaNr = creditnotaNr;
                    this.creditnotadatum = creditnotadatum;
                    setToestand("Leeg");
          }

          public GregorianCalendar getAankomstdatum() {
                    return aankomstdatum;
          }

          public void setAankomstdatum(GregorianCalendar aankomstdatum) {
                     this.aankomstdatum = aankomstdatum;
          }

          public GregorianCalendar getBoekingsdatum() {
                    return boekingsdatum;
          }

          public void setBoekingsdatum(GregorianCalendar boekingsdatum) {
                     this.boekingsdatum = boekingsdatum;
          }

          public int getBoekingsNr() {
                      return boekingsNr;
          }

          public void setBoekingsNr(int boekingsNr) {
                     this.boekingsNr = boekingsNr;
          }

          public int getCatNr() {
                      return catNr;
          }

16
     public void setCatNr(int catNr) {
                this.catNr = catNr;
     }

     public GregorianCalendar getCreditnotadatum() {
               return creditnotadatum;
     }

     public void setCreditnotadatum(GregorianCalendar creditnotadatum) {
                this.creditnotadatum = creditnotadatum;
     }

     public int getCreditnotaNr() {
                 return creditnotaNr;
     }

     public void setCreditnotaNr(int creditnotaNr) {
                this.creditnotaNr = creditnotaNr;
     }

     public int getDataNr() {
                 return dataNr;
     }

     public void setDataNr(int dataNr) {
                this.dataNr = dataNr;
     }

     public int getFactNr() {
                 return factNr;
     }

     public void setFactNr(int factNr) {
                this.factNr = factNr;
     }

     public GregorianCalendar getFactuurdatum() {
               return factuurdatum;
     }

     public void setFactuurdatum(GregorianCalendar factuurdatum) {
                this.factuurdatum = factuurdatum;
     }

     public int getKamerNr() {
                 return kamerNr;
     }

     public void setKamerNr(int kamerNr) {
                this.kamerNr = kamerNr;
     }

     public int getKlantNr() {
                 return klantNr;
     }

     public void setKlantNr(int klantNr) {
                this.klantNr = klantNr;
     }

     public int getPersonen() {
                 return personen;
     }

     public void setPersonen(int personen) {
                this.personen = personen;
     }

     public String getToestand() {
                return toestand;
     }

     public void setToestand(String toestand) {
                this.toestand = toestand;
     }

17
           public GregorianCalendar getVertrekdatum() {
                     return vertrekdatum;
           }

           public void setVertrekdatum(GregorianCalendar vertrekdatum) {
                      this.vertrekdatum = vertrekdatum;
           }
}

/**
 *
 * @author Giles Duinslaeger
 * @version 1.0
 */

package domein;
public class Catering {

           private int catNr;
           private int prijs;
           private String omschrijving;

           public Catering(int catNr, int prijs, String omschrijving) {
                      super();
                      this.catNr = catNr;
                      this.prijs = prijs;
                      this.omschrijving = omschrijving;
           }

           public void setCatNr(int catnr)
           {
                      this.catNr = catnr;
           }

           public int getCatNr()
           {
                       return catNr;
           }

           public void setPrijs (int prijs)
           {
                      this.prijs = prijs;
           }

           public int getPrijs()
           {
                       return prijs;
           }

           public void setOmschrijving(String omschrijving)
           {
                      this.omschrijving = omschrijving;
           }

           public String getOmschrijving()
           {
                      return omschrijving;
           }

}
/**
 *
 * @author Sam Perdu
 * @version 1.0
 */

package domein;

import java.util.GregorianCalendar;

public class Data {

           private int dataNr;
           private GregorianCalendar van;


18
           private GregorianCalendar tot;

           public Data(int dataNr, GregorianCalendar van, GregorianCalendar tot) {
                      super();
                      this.dataNr = dataNr;
                      this.van = van;
                      this.tot = tot;
           }

           public int getDataNr() {
                       return dataNr;
           }

           public void setDataNr(int dataNr) {
                      this.dataNr = dataNr;
           }

           public GregorianCalendar getTot() {
                     return tot;
           }

           public void setTot(GregorianCalendar tot) {
                      this.tot = tot;
           }

           public GregorianCalendar getVan() {
                     return van;
           }

           public void setVan(GregorianCalendar van) {
                      this.van = van;
           }

}

/**
 *
 * @author Stefan Eeckhoudt
 * @version 1.0
 */

package domein;

import java.util.GregorianCalendar;
import java.util.List;
import java.util.Locale;
import java.util.ResourceBundle;

import javax.swing.JComboBox;

import persistentie.*;


public class DomeinController
{

           private Hotel hotel;
           private Locale currentLocale;
           private ResourceBundle messages;

           public DomeinController()
           {
                     hotel = new Hotel();
                     ResourceBundles resb = new ResourceBundles(3, this);
                     messages = resb.getMessages();
           }

           public ResourceBundle getMessages()
           {
                      setMessages();
                      return messages;
           }
           public void setMessages()
           {
                      messages = ResourceBundle.getBundle("MessagesBundle",currentLocale);


19
           }
           public Locale getCurrentLocale() {
                     return currentLocale;
           }

           public void setCurrentLocale(String language) {
                      currentLocale = new Locale(language);
           }

           public List<Klant> getKlanten()
           {
                      List<Klant> klantenLijst = hotel.getKlanten();
                      return klantenLijst;
           }
           public List<Gebruiker> getGebruikers()
           {
                      List<Gebruiker> gebruikers = hotel.getGebruikers();
                      return gebruikers;
           }

           public List<Kamer> geefkamers()
           {
                      List<Kamer> kamers = hotel.getKamers();
                      return kamers;
           }

           public List<Data> geefData()
           {
                      List<Data> dataLijst = hotel.geefData();
                      return dataLijst;
           }

           public List<Boeking> geefboekingen()
           {
                      List<Boeking> boeking = hotel.geefboekingen();
                      return boeking;
           }

           public void wijzigTaal(String username, String password, int lang)
           {
                      hotel.wijzigTaal(username, password, lang);
           }

           public void registreer(String gebruikersnaam, String wachtwoord, String voornaam, String achternaam, int Taal)
           {
                      hotel.registreer(gebruikersnaam, wachtwoord, voornaam, achternaam, Taal);
           }

           public void klanttoevoegen(int aanspreekvorm, String klantVoornaam, String klantAchternaam, String klantLand, String
klantGemeente, int postcode, String straatEnNr, int klantTaal, String naamBedrijfOfOrganisatie, int telefoonNr, int mobielNr, int faxNr,
String epostAdres, int rekeningnr, int IBANOfBICCode, int taalcode, String notities)
           {
                      hotel.klanttoevoegen(aanspreekvorm, klantVoornaam, klantAchternaam, klantLand, klantGemeente, postcode,
straatEnNr, klantTaal,naamBedrijfOfOrganisatie, telefoonNr, mobielNr, faxNr,epostAdres, rekeningnr, IBANOfBICCode, taalcode,
notities);
           }

           public void klantzoeken(String klantVoornaam, String klantAchternaam, String klantGemeente)
           {
                      hotel.klantzoeken(klantVoornaam, klantAchternaam,klantGemeente);
           }

           public void klantverwijderen(int klantId)
           {

                     hotel.klantverwijderen(klantId);
          }
          public void voegboekingtoe(int klantNr,int catNr,int kamerNr,int dataNr,int factNr,GregorianCalendar factuurdatum, int
personen, GregorianCalendar boekingsdatum,GregorianCalendar vertrekdatum ,GregorianCalendar aankomstdatum)
          {

                      hotel.voegboekingtoe(klantNr,catNr,kamerNr,dataNr, factNr, factuurdatum,personen,boekingsdatum,vertrekdatum ,
aankomstdatum);

           }


20
           public List<Klant> geefOverzichtGasten()
           {
                      List<Klant> gastenoverzichtLijst = hotel.geefOverzichtGasten();
                      return gastenoverzichtLijst;
           }
           public List<Catering> getCatering()
           {
                      List<Catering> cateringLijst = hotel.getCatering();
                      return cateringLijst;
           }

           public List<Factuur> maakFactuur(int ID)
           {
                      List<Factuur> factuurLijst = hotel.maakFactuur(ID);
                      return factuurLijst;
           }

           public void applicatieSluiten()
           {
                      Connectie.getInstance().closeConnection();
           }

}

/**
 *
 * @author Giles Duinslaeger
 * @version 1.0
 */

package domein;

import java.util.GregorianCalendar;

public class Factuur {

           private String voorNaam;
           private String achterNaam;
           private int klantNr;
           private int postcode;
           private String straatEnNr;
           private String gemeente;
           private String land;
           private String bedrijf;
           private int factuurNr;
           private GregorianCalendar factuurDatum;
           private int personen;
           private int cateringNr;
           private int kamerNr;
           private int kamerType;
           private int dataNr;
           private int zeezicht;
           private int annulatieVerzekering;

            public Factuur(String voorNaam, String achterNaam, int klantNr, int postcode, String straatEnNr, String gemeente, String land,
String bedrijf, int factuurNr, GregorianCalendar factuurDatum, int personen, int cateringNr, int kamerNr, int kamerType, int dataNr, int
zeezicht, int annulatieVerzekering) {
                        super();
                        this.voorNaam = voorNaam;
                        this.achterNaam = achterNaam;
                        this.klantNr = klantNr;
                        this.postcode = postcode;
                        this.straatEnNr = straatEnNr;
                        this.gemeente = gemeente;
                        this.land = land;
                        this.bedrijf = bedrijf;
                        this.factuurNr = factuurNr;
                        this.factuurDatum = factuurDatum;
                        this.personen = personen;
                        this.cateringNr = cateringNr;
                        this.kamerNr = kamerNr;
                        this.kamerType = kamerType;
                        this.zeezicht = zeezicht;
                        this.annulatieVerzekering = annulatieVerzekering;
            }


21
     public String getAchterNaam() {
                return achterNaam;
     }

     public void setAchterNaam(String achterNaam) {
                this.achterNaam = achterNaam;
     }

     public int getAnnulatieVerzekering() {
                 return annulatieVerzekering;
     }

     public void setAnnulatieVerzekering(int annulatieVerzekering) {
                this.annulatieVerzekering = annulatieVerzekering;
     }

     public String getBedrijf() {
                return bedrijf;
     }

     public void setBedrijf(String bedrijf) {
                this.bedrijf = bedrijf;
     }

     public int getCateringNr() {
                 return cateringNr;
     }

     public void setCateringNr(int cateringNr) {
                this.cateringNr = cateringNr;
     }

     public int getDataNr() {
                 return dataNr;
     }

     public void setDataNr(int dataNr) {
                this.dataNr = dataNr;
     }

     public GregorianCalendar getFactuurDatum() {
               return factuurDatum;
     }

     public void setFactuurDatum(GregorianCalendar factuurDatum) {
                this.factuurDatum = factuurDatum;
     }

     public int getFactuurNr() {
                 return factuurNr;
     }

     public void setFactuurNr(int factuurNr) {
                this.factuurNr = factuurNr;
     }

     public String getGemeente() {
                return gemeente;
     }

     public void setGemeente(String gemeente) {
                this.gemeente = gemeente;
     }

     public int getKamerNr() {
                 return kamerNr;
     }

     public void setKamerNr(int kamerNr) {
                this.kamerNr = kamerNr;
     }

     public int getKamerType() {
                 return kamerType;
     }

22
          public void setKamerType(int kamerType) {
                     this.kamerType = kamerType;
          }

          public int getKlantNr() {
                      return klantNr;
          }

          public void setKlantNr(int klantNr) {
                     this.klantNr = klantNr;
          }

          public String getLand() {
                     return land;
          }

          public void setLand(String land) {
                     this.land = land;
          }

          public int getPersonen() {
                      return personen;
          }

          public void setPersonen(int personen) {
                     this.personen = personen;
          }

          public int getPostcode() {
                      return postcode;
          }

          public void setPostcode(int postcode) {
                     this.postcode = postcode;
          }

          public String getStraatEnNr() {
                     return straatEnNr;
          }

          public void setStraatEnNr(String straatEnNr) {
                     this.straatEnNr = straatEnNr;
          }

          public String getVoorNaam() {
                     return voorNaam;
          }

          public void setVoorNaam(String voorNaam) {
                     this.voorNaam = voorNaam;
          }

          public int getZeezicht() {
                      return zeezicht;
          }

          public void setZeezicht(int zeezicht) {
                     this.zeezicht = zeezicht;
          }
}
/**
 *
 * @author Sam Perdu
 * @version 1.0
 */

package domein;

public class Gebruiker {


          private String gebruikersnaam;
          private String wachtwoord;
          private String voornaam;


23
           private String achternaam;
           private int Taal;

           public Gebruiker(String gebruikersnaam, String wachtwoord, String voornaam, String achternaam, int Taal) {
                     setGebruikersnaam(gebruikersnaam);
                     setWachtwoord(wachtwoord);
                     setVoornaam(voornaam);
                     setAchternaam(achternaam);
                     setTaal(Taal);
           }

           public String getAchternaam() {
                      return achternaam;
           }

           public void setAchternaam(String achternaam) {
                      this.achternaam = achternaam;
           }

           public String getGebruikersnaam() {
                      return gebruikersnaam;
           }

           public void setGebruikersnaam(String gebruikersnaam) {
                      this.gebruikersnaam = gebruikersnaam;
           }

           public int getTaal() {
                       return Taal;
           }

           public void setTaal(int Taal) {
                      this.Taal = Taal;
           }

           public String getVoornaam() {
                      return voornaam;
           }

           public void setVoornaam(String voornaam) {
                      this.voornaam = voornaam;
           }

           public String getWachtwoord() {
                      return wachtwoord;
           }

           public void setWachtwoord(String wachtwoord) {
                      this.wachtwoord = wachtwoord;
           }
}

/**
 *
 * @author Stefan Eeckhoudt
 * @version 1.0
 */

package domein;

import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.List;

import javax.swing.JOptionPane;

import persistentie.PersistentieController;

public class Hotel {

           private List<Klant>klantenLijst;
           private List<Boeking>boekingLijst;
           private List<Data>dataLijst;
           private List<Catering>cateringLijst;
           private List<Kamer>kamerLijst;


24
     private List<Seizoen>seizoenLijst;
     private List<SeizoenKamertype>seizoenKamertypeLijst;
     private List<Gebruiker>gebruikersLijst;
     private List<Klant>overzichtgastenLijst;
     private List<Factuur>factuurLijst;




     public Hotel()
     {
               PersistentieController persistentieController = PersistentieController.getInstance();
               klantenLijst = persistentieController.geefKlanten();
               kamerLijst = persistentieController.geefKamers();
               gebruikersLijst = persistentieController.geefGebruikers();
               dataLijst = persistentieController.geefData();
               boekingLijst = persistentieController.geefBoekingen();
               overzichtgastenLijst = persistentieController.geefOverzichtGasten();
               cateringLijst = persistentieController.getCatering();

     }

     public List<Factuur>maakFactuur(int ID)
     {
                PersistentieController persistentieController = PersistentieController.getInstance();
                factuurLijst = persistentieController.maakFactuur(ID);
                return factuurLijst;
     }


     public List<Gebruiker> getGebruikers()
     {
                return gebruikersLijst;
     }
     public List<Klant> getKlanten() {
                return klantenLijst;
     }


     public List<Boeking> geefboekingen()
     {
                return boekingLijst;
     }

     public List<Catering> getCatering()
     {
                return cateringLijst;
     }

     public List<String> geefNamenVanKlanten()
     {
                List<String> namen = new ArrayList<String>();
                for (Klant klant: klantenLijst)
                           namen.add(klant.getKlantVoornaam());
                return namen;
     }
     public List<Kamer> getKamers(){
                return kamerLijst;
     }

     public List<Data> geefData()
     {

                return dataLijst;
     }

     public List<Klant> geefOverzichtGasten()
     {
                return overzichtgastenLijst;
     }

     public void wijzigTaal(String gebruikersnaam, String wachtwoord, int taal)
     {
                PersistentieController persistentieController = PersistentieController.getInstance();
                persistentieController.wijzigTaal(gebruikersnaam, wachtwoord, taal);
     }

25
          public void registreer(String gebruikersnaam, String wachtwoord, String voornaam, String achternaam, int Taal)
          {
                     PersistentieController persistentieController = PersistentieController.getInstance();
                     persistentieController.registreer(gebruikersnaam, wachtwoord, voornaam, achternaam, Taal);
          }

           public void klanttoevoegen(int aanspreekvorm, String klantVoornaam, String klantAchternaam, String klantLand, String
klantGemeente, int postcode, String straatEnNr, int klantTaal, String naamBedrijfOfOrganisatie, int telefoonNr, int mobielNr, int faxNr,
String epostAdres, int rekeningnr, int IBANOfBICCode, int taalcode, String notities)
           {
                      PersistentieController persistentieController = PersistentieController.getInstance();
                      persistentieController.klanttoevoegen (aanspreekvorm, klantVoornaam, klantAchternaam, klantLand, klantGemeente,
postcode, straatEnNr, klantTaal,naamBedrijfOfOrganisatie, telefoonNr, mobielNr, faxNr,epostAdres, rekeningnr, IBANOfBICCode,
taalcode, notities);
           }

          public void klantzoeken(String frameVoornaam, String frameAchternaam, String frameGemeente)
          {

                     String klantstring = "";
                     boolean gevonden=false;
                     for (Klant klant : klantenLijst)
                     {

                              if( frameVoornaam.equals(klant.getKlantVoornaam()) ||
frameAchternaam.equals(klant.getKlantAchterNaam()) || frameGemeente.equals(klant.getKlantGemeente()))

                                 {
                                         klantstring = String.format("Naam: %s %s, Gemeente: %s",
klant.getKlantVoornaam(),klant.getKlantAchterNaam(), klant.getKlantGemeente());
                                         JOptionPane.showMessageDialog(null, klantstring);
                                         gevonden=true;
                               }


                     }

                      if(!gevonden)JOptionPane.showMessageDialog(null, "Klant niet gevonden !");
          }

          public void klantverwijderen(int frameKlantnummer)
          {
                     boolean gelijk=false;
                     String klantstring2 = "";

                     for (Klant klant : klantenLijst)
                     {

                                  if(frameKlantnummer == klant.getKlantNr())
                                  {
                         PersistentieController persistentieController = PersistentieController.getInstance();
                         persistentieController.klantverwijderen(frameKlantnummer);

                      gelijk=true;
                      klantstring2 = String.format("%s %s uit %s is verwijderd !",
klant.getKlantVoornaam(),klant.getKlantAchterNaam(), klant.getKlantGemeente());

                                 JOptionPane.showMessageDialog(null, klantstring2);

                                 }
          }

                     if(!gelijk)JOptionPane.showMessageDialog(null, "Ongeldig klantnummer !");
          }

          public void voegboekingtoe(int klantNr,int catNr,int kamerNr,int dataNr,int factNr,GregorianCalendar factuurdatum, int
personen, GregorianCalendar boekingsdatum,GregorianCalendar vertrekdatum ,GregorianCalendar aankomstdatum)

          {
                    PersistentieController persistentieController = PersistentieController.getInstance();
                    persistentieController.voegboekingtoe(klantNr,catNr,kamerNr,dataNr, factNr, factuurdatum,
personen,boekingsdatum,vertrekdatum , aankomstdatum);
          }



26
             public void wijzigKlant()
             {

             }
}

/**
 *
 * @author Giles Duinslaeger
 * @version 1.0
 */

package domein;
public class Kamer {

             private int kamerNr;
             private int typeNr;
             private int zeezicht;
             private String toestand;

             public Kamer(int kamerNr, int typeNr, int zeezicht) {
                       super();
                       this.kamerNr = kamerNr;
                       this.typeNr = typeNr;
                       this.zeezicht = zeezicht;
                       setToestand("Leeg");
             }

             public int getKamerNr() {
                         return kamerNr;
             }

             public void setKamerNr(int kamerNr) {
                        this.kamerNr = kamerNr;
             }

             public String getToestand() {
                        return toestand;
             }

             public void setToestand(String toestand) {
                        this.toestand = toestand;
             }

             public int getTypeNr() {
                         return typeNr;
             }

             public void setTypeNr(int typeNr) {
                        this.typeNr = typeNr;
             }

             public int getZeezicht() {
                         return zeezicht;
             }

             public void setZeezicht(int zeezicht) {
                        this.zeezicht = zeezicht;
             }

}

/**
 *
 * @author Sam Perdu
 * @version 1.0
 */

package domein;
public class Kamertype {

    private int typeNr;
    private String omschrijving;
    private int personen;



27
public Kamertype(int typeNr, String omschrijving, int personen) {
          super();
          this.typeNr = typeNr;
          this.omschrijving = omschrijving;
          this.personen = personen;
}

public String getOmschrijving() {
           return omschrijving;
}

public void setOmschrijving(String omschrijving) {
           this.omschrijving = omschrijving;
}

public int getPersonen() {
            return personen;
}

public void setPersonen(int personen) {
           this.personen = personen;
}

public int getTypeNr() {
            return typeNr;
}

public void setTypeNr(int typeNr) {
           this.typeNr = typeNr;
}


}
/**
 *
 * @author Stefan Eeckhoudt
 * @version 1.0
 */

package domein;

import java.util.GregorianCalendar;

public class Klant {

           //attributen

           private int klantNr;
           private String aanspreekvorm;
           private String klantVoornaam;
           private String klantAchternaam;
           private String klantLand;
           private String klantGemeente;
           private int postcode;
           private String straatEnNr;
           private String klantTaal;
           private String naamBedrijfOfOrganisatie;
           private int telefoonNr;
           private int faxNr;
           private int mobielNr;
           private String epostAdres;
           private int rekeningnr;
           private int IBANOfBICCode;
           private int ISO639Taalcode;
  private String notities;

  private int boekingsNr;
           private int kamerNr;
           private GregorianCalendar aankomstdatum;
           private GregorianCalendar vertrekdatum;

  //getters & setters




28
           public Klant(int klantNr, String aanspreekvorm, String klantVoornaam, String klantAchternaam, String klantLand, String
klantGemeente, int postcode, String straatEnNr, String klantTaal, String naamBedrijfOfOrganisatie, int telefoonNr, int faxNr, int mobielNr,
String epostAdres, int rekeningnr, int ofBICCode, int taalcode, String notities, int boekingsNr, int kamerNr, GregorianCalendar
aankomstdatum, GregorianCalendar vertrekdatum) {
                      super();
                      this.klantNr = klantNr;
                      this.aanspreekvorm = aanspreekvorm;
                      this.klantVoornaam = klantVoornaam;
                      this.klantAchternaam = klantAchternaam;
                      this.klantLand = klantLand;
                      this.klantGemeente = klantGemeente;
                      this.postcode = postcode;
                      this.straatEnNr = straatEnNr;
                      this.klantTaal = klantTaal;
                      this.naamBedrijfOfOrganisatie = naamBedrijfOfOrganisatie;
                      this.telefoonNr = telefoonNr;
                      this.faxNr = faxNr;
                      this.mobielNr = mobielNr;
                      this.epostAdres = epostAdres;
                      this.rekeningnr = rekeningnr;
                      IBANOfBICCode = ofBICCode;
                      ISO639Taalcode = taalcode;
                      this.notities = notities;
                      this.boekingsNr = boekingsNr;
                      this.kamerNr = kamerNr;
                      this.aankomstdatum = aankomstdatum;
                      this.vertrekdatum = vertrekdatum;
           }

           public Klant(int klantNr, String aanspreekvorm, String klantVoornaam, String klantAchternaam, String klantLand, String
klantGemeente, int postcode, String straatEnNr, String klantTaal, String naamBedrijfOfOrganisatie, int telefoonNr, int faxNr, int mobielNr,
String epostAdres, int rekeningnr, int IBANOfBICCode, int taalcode, String notities) {

                        {
                                  setKlantNr(klantNr);
                                  setAanspreekvorm(aanspreekvorm);
                                  setKlantVoornaam(klantVoornaam);
                                  setKlantAchterNaam(klantAchternaam);
                                  setKlantLand(klantLand);
                                  setKlantGemeente(klantGemeente);
                                  setPostcode(postcode);
                                  setStraatEnNr(straatEnNr);
                                  setKlantTaal(klantTaal);
                                  setNaamBedrijfOfOrganisatie(naamBedrijfOfOrganisatie);
                                  setTelefoonNr(telefoonNr);
                                  setFaxNr(faxNr);
                                  setMobielNr(mobielNr);
                                  setEpostAdres(epostAdres);
                                  setRekeningNr(rekeningnr);
                                  setIBANOfBICCode(IBANOfBICCode);
                                  setISO639Taalcode(ISO639Taalcode);
                                  setNotities(notities);
                        }

}

            public void setKlantNr(int klantnr)
    {
            this.klantNr = klantnr;
    }

    public int getKlantNr()
    {
             return klantNr;
    }

    public void setAanspreekvorm(String aanspreekvorm)
    {
            this.aanspreekvorm = aanspreekvorm;
    }

    public String getAanspreekvorm()
    {
            return aanspreekvorm;
    }


29
 public void setKlantVoornaam(String klantvoornaam)
 {
         this.klantVoornaam = klantvoornaam;
 }

 public String getKlantVoornaam()
 {
         return klantVoornaam;
 }
 public void setKlantAchterNaam(String klantachternaam)
 {
         this.klantAchternaam = klantachternaam;
 }

 public String getKlantAchterNaam()
 {
         return klantAchternaam;
 }

 public void setKlantLand(String klantland)
 {
         this.klantLand = klantland;
 }

 public String getKlantLand()
 {
         return klantLand;
 }

 public void setKlantGemeente(String klantGemeente)
 {
         this.klantGemeente = klantGemeente;
 }

 public String getKlantGemeente()
 {
         return klantGemeente;

 }
 public void setPostcode(int postcode)
 {
         this.postcode = postcode;
 }

 public int getPostcode()
 {
          return postcode;
 }

 public void setStraatEnNr(String straatEnNr)
 {
         this.straatEnNr = straatEnNr;
 }

 public String getStraatEnNr()
 {
         return straatEnNr;
 }
 public void setKlantTaal(String klanttaal)
 {
         this.klantTaal = klanttaal;
 }

 public String getKlantTaal()
 {
         return klantTaal;
 }

 public void setNaamBedrijfOfOrganisatie(String naamBedrijfOfOrganisatie)
 {
         this.naamBedrijfOfOrganisatie = naamBedrijfOfOrganisatie;
 }
 public String getNaamBedrijfOfOrganisatie()
 {
         return naamBedrijfOfOrganisatie;

30
 }

 public void setTelefoonNr(int telefoonnr)
 {
         this.telefoonNr = telefoonnr;
 }

 public int getTelefoonNr()
 {
          return telefoonNr;
 }
 public void setFaxNr(int faxnr)
 {
          this.faxNr = faxnr;
 }

 public int getFaxNr()
 {
          return faxNr;
 }
 public void setMobielNr(int mobielnr)
 {
          this.mobielNr = mobielnr;
 }

 public int getMobielNr()
 {
          return mobielNr;
 }

 public void setEpostAdres(String epostadres)
 {
         this.epostAdres = epostadres;
 }

 public String getEpostAdres()
 {
         return epostAdres;
 }

 public void setRekeningNr(int rekeningnr)
 {
         this.rekeningnr = rekeningnr;
 }

 public int getRekeningNr()
 {
          return rekeningnr;
 }
 public void setIBANOfBICCode(int IBANOfBICCode)
 {
          this.IBANOfBICCode = IBANOfBICCode;
 }

 public int getIBANOfBICCode()
 {
          return IBANOfBICCode;
 }

 public void setISO639Taalcode(int ISO639Taalcode)
 {
         this.ISO639Taalcode = ISO639Taalcode;
 }

 public int getISO639Taalcode()
 {
          return ISO639Taalcode;
 }

 public void setNotities(String notities)
 {
         this.notities = notities;
 }

 public String getNotities()
 {

31
          return notities;
 }
 public String toString()
          {
                      return String.format("Nr: %d Aanspreking: %s Naam: %s Voornaam: %s Straat: %s Gemeente:
%s",klantNr,aanspreekvorm,klantVoornaam,klantAchternaam,straatEnNr,klantGemeente);

          }
  public void print()
          {
                        System.out.println(toString());
          }

          public GregorianCalendar getAankomstdatum() {
                    return aankomstdatum;
          }

          public void setAankomstdatum(GregorianCalendar aankomstdatum) {
                     this.aankomstdatum = aankomstdatum;
          }

          public int getBoekingsNr() {
                      return boekingsNr;
          }

          public void setBoekingsNr(int boekingsNr) {
                     this.boekingsNr = boekingsNr;
          }

          public int getKamerNr() {
                      return kamerNr;
          }

          public void setKamerNr(int kamerNr) {
                     this.kamerNr = kamerNr;
          }

          public GregorianCalendar getVertrekdatum() {
                    return vertrekdatum;
          }

          public void setVertrekdatum(GregorianCalendar vertrekdatum) {
                     this.vertrekdatum = vertrekdatum;
          }
          public String genereerToestand()
          {
                     String toestand = "";

                        return toestand;
          }
}
/**
 *
 * @author Giles Duinslaeger
 * @version 1.0
 */

package domein;
import java.util.Locale;
import java.util.ResourceBundle;

public class ResourceBundles {

          private ResourceBundle messages;

          public ResourceBundles(int index, DomeinController doco) {
                    String taal;
                    String land;

                        switch(index) {

                        case 1: taal = new String("en");
                                               land = new String("US");
                                               break;



32
                     case 2: taal = new String("fr");
                                            land = new String("FR");
                                            break;

                     default: taal = new String("nl");
                                             land = new String("BE");
                                            break;
                     }

                     Locale currentLocale;
                     currentLocale = new Locale(taal, land);
                     doco.setCurrentLocale(currentLocale.toString());
                     messages = ResourceBundle.getBundle("MessagesBundle",currentLocale);

                     setMessages(messages);
          }


          public ResourceBundle getMessages() {
                    return messages;
          }

          public void setMessages(ResourceBundle messages) {
                     this.messages = messages;
          }
}
/**
 *
 * @author Sam Perdu
 * @version 1.0
 */

package domein;
public class Seizoen {

          private int seizoenNr;
          private int dataNr;
          private String omschrijving;

          public Seizoen(int seizoenNr, int dataNr, String omschrijving) {
                     super();
                     this.seizoenNr = seizoenNr;
                     this.dataNr = dataNr;
                     this.omschrijving = omschrijving;
          }

          public int getDataNr() {
                      return dataNr;
          }

          public void setDataNr(int dataNr) {
                     this.dataNr = dataNr;
          }

          public String getOmschrijving() {
                     return omschrijving;
          }

          public void setOmschrijving(String omschrijving) {
                     this.omschrijving = omschrijving;
          }

          public int getSeizoenNr() {
                      return seizoenNr;
          }

          public void setSeizoenNr(int seizoenNr) {
                     this.seizoenNr = seizoenNr;
          }

}

/**
 *
 * @author Stefan Eeckhoudt


33
* @version 1.0
*/

package domein;
public class SeizoenKamertype {

             private int TypeNr;
             private int SeizoenNr;
             private int Prijs;

             public void setTypeNr(int typenr)
    {
             this.TypeNr = typenr;
    }
    public int getTypeNr()
    {
             return TypeNr;
    }

    public void setSeizoenNr(int seizoennr)
    {
             this.SeizoenNr = seizoennr;
    }
    public int getSeizoenNr()
    {
             return SeizoenNr;
    }

    public void setPrijs(int prijs)
    {
             this.Prijs = prijs;
    }
    public int getPrijs()
    {
             return Prijs;
    }
}

GUI

/**
 *
 * @author Stefan Eeckhoudt
 * @version 1.0
 */

package gui;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JLabel;

import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;

import domein.Data;
import domein.DomeinController;
import domein.Kamer;
import domein.Boeking;
import domein.Klant;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import domein.Boeking;




public class KamerOverzicht extends javax.swing.JFrame {

private List <Kamer> kamerLijst;


34
private List <Boeking> boekingLijst;
private List<Klant> klantenLijst;
private List<Data> dataLijst;
private List<Klant> overzichtgastenLijst;



private JLabel lblBezetteKamers;
private JLabel lblWissel;
private JLabel lblVertrekken;
private JLabel lblVandaagVerwacht;
private JLabel lblBinnekortVerwacht;
private JButton btnHoofdmenu;
private JLabel lblLegeKamers;
DomeinController domeincontroller;


public KamerOverzicht(DomeinController doco) {

                     super();
                     this.setLocationRelativeTo(null);
                     this.setVisible(true);
                     kamerLijst = doco.geefkamers();
                     boekingLijst = doco.geefboekingen();
                     domeincontroller = doco;
                     initGUI();

          }

          private void initGUI() {
                     try {
                                setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
                                getContentPane().setLayout(null);
                                {
                                          lblLegeKamers = new JLabel();
                                          getContentPane().add(lblLegeKamers);
                                          lblLegeKamers.setBounds(32, 24, 385, 28);
                                          lblLegeKamers.setForeground(new Color(0, 128, 0));
                                }
                                {
                                          lblBezetteKamers = new JLabel();
                                          getContentPane().add(lblBezetteKamers);
                                          lblBezetteKamers.setBounds(32, 64, 385, 27);
                                          lblBezetteKamers.setForeground(new Color(128, 0, 0));
                                }
                                {
                                          lblVertrekken = new JLabel();
                                          getContentPane().add(lblVertrekken);
                                          lblVertrekken.setBounds(30, 103, 387, 21);
                                          lblVertrekken.setForeground(new Color(196, 0, 0));
                                }
                                {
                                          lblWissel = new JLabel();
                                          getContentPane().add(lblWissel);
                                          lblWissel.setBounds(30, 147, 387, 21);
                                          lblWissel.setForeground(new Color(196, 128, 0));
                                }
                                {
                                          lblBinnekortVerwacht = new JLabel();
                                          getContentPane().add(lblBinnekortVerwacht);
                                          lblBinnekortVerwacht.setBounds(30, 186, 387, 21);
                                          lblBinnekortVerwacht.setForeground(new Color(196, 225, 0));
                                }
                                {
                                          lblVandaagVerwacht = new JLabel();
                                          getContentPane().add(lblVandaagVerwacht);
                                          lblVandaagVerwacht.setBounds(30, 219, 398, 22);
                                          lblVandaagVerwacht.setForeground(new Color(196, 0, 196));
                                }
                                {
                                          btnHoofdmenu = new JButton();
                                          getContentPane().add(btnHoofdmenu);
                                          btnHoofdmenu.setText("Hoofdmenu");
                                          btnHoofdmenu.setBounds(181, 262, 108, 24);
                                          btnHoofdmenu.addActionListener(new ActionListener() {
                                                     public void actionPerformed(ActionEvent evt) {

35
                                                          btnHoofdmenuActionPerformed(evt);
                                                }
                                      });
                          }
                          pack();
                          this.setSize(481, 345);
               } catch (Exception e) {
                          e.printStackTrace();
               }
     }

     public void KamerStatus()
     {
                GregorianCalendar vandaag = new GregorianCalendar();
                vandaag.set(Calendar.HOUR_OF_DAY, 0);
                vandaag.set(Calendar.MINUTE, 0);
                vandaag.set(Calendar.SECOND, 0);
                vandaag.set(Calendar.MILLISECOND, 0);



               for (Kamer kamer : kamerLijst)
               {


                          kamer.setToestand("leeg");
                          List<Boeking> kamerBoekingen = new ArrayList<Boeking>();
                          for (Boeking boeking : boekingLijst)
                                     if (boeking.getKamerNr() == kamer.getKamerNr())
                                                kamerBoekingen.add(boeking);

                          for (Boeking boeking : kamerBoekingen)
                          {


                                     GregorianCalendar vertrek = boeking.getVertrekdatum();
                                     GregorianCalendar aankomst = boeking.getAankomstdatum();

                                     if (vertrek.after(vandaag) && aankomst.before(vandaag))
                                                  kamer.setToestand("bezet");
                                     else if (vertrek.equals(vandaag))
                                                  if (kamer.getToestand() == "gastenvandaagverwacht")
                                                             kamer.setToestand("gastenwissel");
                                                  else
                                                             kamer.setToestand("gastenvertrekken");
                                     else if (aankomst.after(vandaag))
                                                  kamer.setToestand("gastenverwacht");
                                     else if (aankomst.equals(vandaag))
                                                  if (kamer.getToestand() == "gastenvertrekken")
                                                             kamer.setToestand("gastenwissel");
                                                  else
                                                             kamer.setToestand("gastenvandaagverwacht");
                          }

               }


     }



     void getKamerStatus()
     {
               KamerStatus();



               lblLegeKamers.setText(domeincontroller.getMessages().getString("leeg"));
               lblBezetteKamers.setText(domeincontroller.getMessages().getString("bezet"));
               lblVertrekken.setText(domeincontroller.getMessages().getString("gastenVandaag"));
               lblVandaagVerwacht.setText(domeincontroller.getMessages().getString("gastenVandaagVerwacht"));
               lblBinnekortVerwacht.setText(domeincontroller.getMessages().getString("gastenBinnenkort"));
               lblWissel.setText(domeincontroller.getMessages().getString("gastenwissel"));

               for(int y=0;y<kamerLijst.size();y++)
               {

36
                                  String toestand = kamerLijst.get(y).getToestand();

                                  if (toestand.equals("leeg"))
                                  {
                                              lblLegeKamers.setText(lblLegeKamers.getText() + kamerLijst.get(y).getKamerNr() + "         ");
                                  }

                                  if (toestand.equals("bezet"))
                                  {

                                             lblBezetteKamers.setText(lblBezetteKamers.getText() + kamerLijst.get(y).getKamerNr() + "
");

                                  }

                                  if (toestand.equals("gastenwissel"))
                                  {
                                              lblWissel.setText(lblWissel.getText() + kamerLijst.get(y).getKamerNr() + "   ");
                                  }

                                  if (toestand.equals("gastenvandaagverwacht"))
                                  {
                                              lblVandaagVerwacht.setText(lblVandaagVerwacht.getText() + kamerLijst.get(y).getKamerNr()
+"    ");
                                  }

                               if (toestand.equals("gastenverwacht"))
                               {
                                           lblBinnekortVerwacht.setText(lblBinnekortVerwacht.getText() +
kamerLijst.get(y).getKamerNr() + " ");
                               }

                                  if (toestand.equals("gastenvertrekken"))
                                  {
                                              lblVertrekken.setText(lblVertrekken.getText() + kamerLijst.get(y).getKamerNr() + "   ");
                                  }

                       }

            }

            private void resetPanelen(){

                       vernieuwLijsten();
                       }

            public void vernieuwLijsten()
            {
                       kamerLijst = domeincontroller.geefkamers();
                       boekingLijst = domeincontroller.geefboekingen();
                       klantenLijst = domeincontroller.getKlanten();
                       dataLijst = domeincontroller.geefData();
                       overzichtgastenLijst = domeincontroller.geefOverzichtGasten();
            }

           private void btnHoofdmenuActionPerformed(ActionEvent evt)
           {
  ProgramFrame pf = new ProgramFrame(domeincontroller);
  this.dispose();
  pf.setVisible(true);
}
}
/**
 *
 * @author Giles Duinslaeger
 * @version 1.0
 */

package gui;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.Calendar;


37
import java.util.GregorianCalendar;
import java.util.List;

import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;

import domein.Boeking;
import domein.Catering;
import domein.Data;
import domein.DomeinController;
import domein.Kamer;
import domein.Klant;


public class KlantCheckFrame extends javax.swing.JFrame {

          private JLabel lblZeezicht;

          private JButton btnAnnuleren;

          private JButton btnOk;

          private JTextField txtCheckout;

          private JLabel lblCheckout;

          private JTextField txtCheckin;

          private JLabel lblCheckin;

          private JLabel lblKlant;

          private JTextField txtFactDatum;

          private JComboBox cmbCatering;

          private JComboBox cmbKlant;

          private JTextField txtPersonen;

          private JLabel lblFactDatum;

          private JLabel lblPersonen;

          private JLabel lblCatering;

          private JComboBox jZeezicht;

          private JComboBox cmbKamer;

          private JLabel lblKamerNr;

          private List<Boeking> boekingLijst;

          private List<Klant> klantenLijst;

          private List<Data> dataLijst;

          private List<Catering> cateringLijst;

          private List<Kamer> kamerLijst;

          DomeinController domeincontroller;

          public KlantCheckFrame(DomeinController doco) {

                     super();

38
               this.setLocationRelativeTo(null);
               this.setVisible(true);
               domeincontroller = doco;
               initGUI();
               dataLijst = domeincontroller.geefData();
               cateringLijst = domeincontroller.getCatering();
               boekingLijst = domeincontroller.geefboekingen();
               getcmbKamer(1);
     }

     private void initGUI() {
                try {
                           setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
                           getContentPane().setLayout(null);
                           this.setTitle("Hotel Triolet");
                           this.setIconImage(new ImageIcon(getClass().getClassLoader()
                                                  .getResource("lib/h.bmp")).getImage());
                           {
                                       lblKamerNr = new JLabel();
                                       getContentPane().add(lblKamerNr);
                                       lblKamerNr.setText(domeincontroller.getMessages().getString("kamernr"));
                                       lblKamerNr.setBounds(38, 136, 95, 14);
                           }
                           {
                                       ComboBoxModel cmbKamerModel = new DefaultComboBoxModel(
                                                             new String[] {});
                                       cmbKamer = new JComboBox();
                                       getContentPane().add(cmbKamer);
                                       cmbKamer.setModel(cmbKamerModel);
                                       cmbKamer.setBounds(161, 135, 94, 21);
                           }
                           {
                                       lblZeezicht = new JLabel();
                                       getContentPane().add(lblZeezicht);
                                       lblZeezicht.setText(domeincontroller.getMessages().getString("zeezicht"));
                                       lblZeezicht.setBounds(311, 30, 86, 14);
                           }
                           {
                                       ComboBoxModel jZeezichtModel = new DefaultComboBoxModel(
                                                             new String[] { "Ja", "Nee" });
                                       jZeezicht = new JComboBox();
                                       getContentPane().add(jZeezicht);
                                       jZeezicht.setModel(jZeezichtModel);
                                       jZeezicht.setBounds(433, 27, 94, 21);
                                       jZeezicht.addItemListener(new ItemListener() {
                                                  public void itemStateChanged(ItemEvent evt) {
                                                             jZeezichtItemStateChanged(evt);
                                                  }
                                       });
                           }
                           {
                                       lblCheckin = new JLabel();
                                       getContentPane().add(lblCheckin);
                                       lblCheckin.setText(domeincontroller.getMessages().getString("van"));
                                       lblCheckin.setBounds(311, 61, 95, 14);
                           }
                           {
                                       txtCheckin = new JTextField();
                                       getContentPane().add(txtCheckin);
                                       txtCheckin.setBounds(433, 58, 94, 21);
                           }
                           {
                                       lblCheckout = new JLabel();
                                       getContentPane().add(lblCheckout);
                                       lblCheckout.setText(domeincontroller.getMessages().getString("tot"));
                                       lblCheckout.setBounds(311, 93, 95, 14);
                           }
                           {
                                       txtCheckout = new JTextField();
                                       getContentPane().add(txtCheckout);
                                       txtCheckout.setBounds(433, 90, 94, 21);
                           }
                           {
                                       btnOk = new JButton();
                                       getContentPane().add(btnOk);

39
                           btnOk.setText("OK");
                           btnOk.setBounds(439, 167, 94, 21);
                           btnOk.addActionListener(new ActionListener() {
                                     public void actionPerformed(ActionEvent evt) {
                                                btnOkActionPerformed(evt);
                                     }
                           });
                }

                {
                           lblKlant = new JLabel();
                           getContentPane().add(lblKlant);
                           lblKlant.setText(domeincontroller.getMessages().getString("klant"));
                           lblKlant.setBounds(38, 29, 111, 16);
                }
                {
                           lblCatering = new JLabel();
                           getContentPane().add(lblCatering);
                           lblCatering.setText(domeincontroller.getMessages().getString("catering"));
                           lblCatering.setBounds(38, 100, 95, 16);
                }
                {
                           lblPersonen = new JLabel();
                           getContentPane().add(lblPersonen);
                           lblPersonen.setText(domeincontroller.getMessages().getString("aantalpers"));
                           lblPersonen.setBounds(38, 64, 105, 20);
                }
                {
                           lblFactDatum = new JLabel();
                           getContentPane().add(lblFactDatum);
                           lblFactDatum.setText(domeincontroller.getMessages().getString("factuurdat"));
                           lblFactDatum.setBounds(311, 125, 95, 16);
                }
                {
                           txtFactDatum = new JTextField();
                           getContentPane().add(txtFactDatum);
                           txtFactDatum.setBounds(433, 122, 94, 22);
                }
                {
                           txtPersonen = new JTextField();
                           getContentPane().add(txtPersonen);
                           txtPersonen.setBounds(161, 63, 94, 22);
                }
                {

                           ComboBoxModel cmbKlantModel = new DefaultComboBoxModel(
                                               new String[] {});
                           cmbKlant = new JComboBox();
                           getContentPane().add(cmbKlant);
                           cmbKlant.setModel(cmbKlantModel);
                           cmbKlant.setBounds(161, 26, 94, 22);
                }
                {
                           ComboBoxModel cmbCateringModel = new DefaultComboBoxModel(
                                               new String[] {});
                           cmbCatering = new JComboBox();
                           getContentPane().add(cmbCatering);
                           cmbCatering.setModel(cmbCateringModel);
                           cmbCatering.setBounds(161, 97, 94, 22);
                }
                {
                           btnAnnuleren = new JButton();
                           getContentPane().add(btnAnnuleren);
                           btnAnnuleren.setText(domeincontroller.getMessages().getString("annuleren"));
                           btnAnnuleren.setBounds(323, 167, 94, 21);
                           btnAnnuleren.addActionListener(new ActionListener() {
                                     public void actionPerformed(ActionEvent evt) {
                                                btnAnnulerenActionPerformed(evt);
                                     }
                           });
                }

                pack();
                this.setSize(571, 253);
     } catch (Exception e) {
                e.printStackTrace();

40
               }
     }

     private void btnOkActionPerformed(ActionEvent evt) {

               String dagS, maandS, jaarS, dagE, maandE, jaarE, dagF, maandF, jaarF;
               int Sdag, Smaand, Sjaar, Edag, Emaand, Ejaar, Fdag, Fmaand, Fjaar;

               int klantNrcmb = 0, klantNr = 0, catNr = 0, kamerNr = 0, dataNr = 0, factNr = 0, personen = 0;
               String klantcmb = null;
               GregorianCalendar boekingsdatum = null, factuurdatum = null, aankomstdatum = null, vertrekdatum = null;

               if (txtPersonen.getText().length() != 0
                                       && txtCheckin.getText().length() != 0
                                       && txtCheckout.getText().length() != 0
                                       && txtFactDatum.getText().length() != 0) {
                           dagS = (txtCheckin.getText().substring(0, 2));
                           Sdag = Integer.parseInt(dagS);
                           maandS = ((txtCheckin.getText().substring(2, 4)));
                           Smaand = Integer.parseInt(maandS);
                           jaarS = ((txtCheckin.getText().substring(4, 8)));
                           Sjaar = Integer.parseInt(jaarS);
                           dagE = (txtCheckout.getText().substring(0, 2));
                           Edag = Integer.parseInt(dagE);
                           maandE = ((txtCheckout.getText().substring(2, 4)));
                           Emaand = Integer.parseInt(maandE);
                           jaarE = ((txtCheckout.getText().substring(4, 8)));
                           Ejaar = Integer.parseInt(jaarE);
                           dagF = (txtFactDatum.getText().substring(0, 2));
                           Fdag = Integer.parseInt(dagF);
                           maandF = ((txtFactDatum.getText().substring(2, 4)));
                           Fmaand = Integer.parseInt(maandF);
                           jaarF = ((txtFactDatum.getText().substring(4, 8)));
                           Fjaar = Integer.parseInt(jaarF);

                          factuurdatum = new GregorianCalendar();
                          factuurdatum.set(Fjaar, Fmaand - 1, Fdag);
                          aankomstdatum = new GregorianCalendar();
                          aankomstdatum.set(Sjaar, Smaand - 1, Sdag);
                          vertrekdatum = new GregorianCalendar();
                          vertrekdatum.set(Ejaar, Emaand - 1, Edag);

                          klantNrcmb = cmbKlant.getSelectedIndex();
                          klantcmb = cmbKlant.getSelectedItem().toString();

                          klantNr = klantenLijst.get(klantNrcmb).getKlantNr();

                          catNr = cmbCatering.getSelectedIndex() + 1;
                          kamerNr = Integer.parseInt(cmbKamer.getSelectedItem().toString());

                          dataNr = getseizoen(aankomstdatum, vertrekdatum);

                          factNr = boekingLijst.size();

                          personen = Integer.parseInt(txtPersonen.getText());

                          boekingsdatum = new GregorianCalendar();

                          domeincontroller.voegboekingtoe(klantNr, catNr, kamerNr, dataNr,
                                               factNr, factuurdatum, personen, boekingsdatum,
                                               vertrekdatum, aankomstdatum);

                          this.dispose();
                          ProgramFrame pf = new ProgramFrame(domeincontroller);
                          pf.setVisible(true);
                          pf.setEnabled(true);

               } else {

                          JOptionPane.showMessageDialog(null,
                          "Niet alle velden zijn ingevuld !");


               }

     }

41
      public int getseizoen(GregorianCalendar aankomstdatum,
                              GregorianCalendar vertrekdatum) {
                  for (int x = 0; x < dataLijst.size(); x++) {
                              if (aankomstdatum.after(dataLijst.get(x).getVan())
                                                      && vertrekdatum.before(dataLijst.get(x).getTot())) {
                                          int dataNr = (dataLijst.get(x)).getDataNr();
                                          return dataNr;

                             }
                 }

                 return 1;

      }

      private void btnAnnulerenActionPerformed(ActionEvent evt) {
                 ProgramFrame annuleer = new ProgramFrame(domeincontroller);
                 this.dispose();
                 annuleer.setVisible(true);
      }

      void getcmbKlanten() {

                 klantenLijst = domeincontroller.getKlanten();

                 for (int y = 0; y < klantenLijst.size(); y++) {

                             cmbKlant.addItem(klantenLijst.get(y).getKlantNr() + "-"
                                                 + klantenLijst.get(y).getKlantVoornaam());
                 }

      }

      void getcmbKamer(int zeezicht) {
                KamerOverzicht kamerOverzicht;
                kamerOverzicht = new KamerOverzicht(domeincontroller);
                kamerOverzicht.setVisible(false);
                kamerOverzicht.KamerStatus();
                kamerOverzicht.dispose();
                kamerOverzicht = null;

                 kamerLijst = domeincontroller.geefkamers();

                 cmbKamer.removeAllItems();

                 for (Kamer kamer : kamerLijst)
                           if (kamer.getToestand().equals("leeg")
                                                 || kamer.getToestand().equals("gastenvertrekken")) {
                                      if (kamer.getZeezicht() == zeezicht)
                                                 cmbKamer.addItem(kamer.getKamerNr());
                           }

      }

      void getcmbCatering() {

                 cateringLijst = domeincontroller.getCatering();

                 for (int y = 0; y < cateringLijst.size(); y++) {

                             cmbCatering.addItem(cateringLijst.get(y).getOmschrijving());
                 }

      }

      private void jZeezichtItemStateChanged(ItemEvent evt) {
                 if ((String) evt.getItem() == "Ja")
                             getcmbKamer(1);
                 if ((String) evt.getItem() == "Nee")
                             getcmbKamer(0);
      }

}
/**


42
*
* @author Sam Perdu
* @version 1.0
*/

package gui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JEditorPane;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;

import domein.DomeinController;


public class KlantFrame extends javax.swing.JFrame {
           private JLabel lblVoorNaam;
           private JLabel lblLand;
           private JTextField txtPostcode;
           private JEditorPane jEditorPane1;
           private JButton btnAnnuleren;
           private JComboBox Taal;
           private JScrollPane Nota;
           private JTextField txtTaalCode;
           private JTextField txtIbanBic;
           private JTextField txtRekNr;
           private JTextField txtEmail;
           private JTextField txtFaxNr;
           private JTextField txtGsmNr;
           private JTextField txtTelNr;
           private JTextField txtBedrijf;
           private JTextField txtStraatenNr;
           private JTextField txtGemeente;
           private JTextField txtLand;
           private JTextField txtVoorNaam;
           private JTextField txtNaam;
           private JButton btnOk;
           private JComboBox AanspreekVorm;
           private JLabel lblNota;
           private JLabel lblIso;
           private JLabel lblIbanBic;
           private JLabel lblRekeningNr;
           private JLabel lblEmail;
           private JLabel lblGsmNr;
           private JLabel lblFaxNr;
           private JLabel lblTelNr;
           private JLabel lblBedrijf;
           private JLabel lblTaal;
           private JLabel lblStraatenNr;
           private JLabel lblPostcode;
           private JLabel lblGemeente;
           private JLabel lblAanspreekVorm;
           private JLabel lblKlantNaam;

          DomeinController domeincontroller = new DomeinController();
          /**
          * Auto-generated main method to display this JFrame
          */
          public static void main(String[] args) {
                      SwingUtilities.invokeLater(new Runnable() {
                                public void run() {
                                            KlantFrame inst = new KlantFrame();
                                            inst.setLocationRelativeTo(null);
                                            inst.setVisible(true);

43
                          }
               });
     }

     public KlantFrame() {
               super();
               initGUI();
     }

     private void initGUI() {
                try {
                           setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
                           getContentPane().setLayout(null);
                           this.setTitle("Hotel Triolet");
                           this.setIconImage(new ImageIcon(getClass().getClassLoader().getResource("lib/h.bmp")).getImage());
                           {
                                       lblKlantNaam = new JLabel();
                                       getContentPane().add(lblKlantNaam);
                                       lblKlantNaam.setText("Naam:");
                                       lblKlantNaam.setBounds(24, 97, 102, 14);
                           }
                           {
                                       lblVoorNaam = new JLabel();
                                       getContentPane().add(lblVoorNaam);
                                       lblVoorNaam.setText("Voornaam:");
                                       lblVoorNaam.setBounds(24, 63, 108, 14);
                           }
                           {
                                       lblAanspreekVorm = new JLabel();
                                       getContentPane().add(lblAanspreekVorm);
                                       lblAanspreekVorm.setText("Aanspreekvorm:");
                                       lblAanspreekVorm.setBounds(24, 30, 108, 14);
                           }
                           {
                                       lblLand = new JLabel();
                                       getContentPane().add(lblLand);
                                       lblLand.setText("Land:");
                                       lblLand.setBounds(24, 130, 108, 14);
                           }
                           {
                                       lblGemeente = new JLabel();
                                       getContentPane().add(lblGemeente);
                                       lblGemeente.setText("Gemeente:");
                                       lblGemeente.setBounds(24, 164, 108, 14);
                           }
                           {
                                       lblPostcode = new JLabel();
                                       getContentPane().add(lblPostcode);
                                       lblPostcode.setText("Postcode:");
                                       lblPostcode.setBounds(24, 198, 108, 14);
                           }
                           {
                                       lblStraatenNr = new JLabel();
                                       getContentPane().add(lblStraatenNr);
                                       lblStraatenNr.setText("Straat + Nr:");
                                       lblStraatenNr.setBounds(24, 231, 108, 14);
                           }
                           {
                                       lblTaal = new JLabel();
                                       getContentPane().add(lblTaal);
                                       lblTaal.setText("Taal:");
                                       lblTaal.setBounds(24, 266, 108, 14);
                           }
                           {
                                       lblBedrijf = new JLabel();
                                       getContentPane().add(lblBedrijf);
                                       lblBedrijf.setText("Bedrijf:");
                                       lblBedrijf.setBounds(24, 299, 108, 14);
                           }
                           {
                                       lblTelNr = new JLabel();
                                       getContentPane().add(lblTelNr);
                                       lblTelNr.setText("Telefoonnummer:");
                                       lblTelNr.setBounds(267, 30, 27, 14);
                                       lblTelNr.setSize(108, 14);
                           }

44
     {
         lblFaxNr = new JLabel();
         getContentPane().add(lblFaxNr);
         lblFaxNr.setText("Faxnummer:");
         lblFaxNr.setBounds(267, 98, 27, 14);
         lblFaxNr.setSize(108, 14);
     }
     {
         lblGsmNr = new JLabel();
         getContentPane().add(lblGsmNr);
         lblGsmNr.setText("Gsmnummer:");
         lblGsmNr.setBounds(267, 63, 27, 14);
         lblGsmNr.setSize(108, 14);
     }
     {
         lblEmail = new JLabel();
         getContentPane().add(lblEmail);
         lblEmail.setText("E-mailadres:");
         lblEmail.setBounds(267, 133, 27, 14);
         lblEmail.setSize(108, 14);
     }
     {
         lblRekeningNr = new JLabel();
         getContentPane().add(lblRekeningNr);
         lblRekeningNr.setText("Rekeningnummer:");
         lblRekeningNr.setBounds(267, 167, 27, 14);
         lblRekeningNr.setSize(108, 14);
     }
     {
         lblIbanBic = new JLabel();
         getContentPane().add(lblIbanBic);
         lblIbanBic.setText("IBAN/BIC-code:");
         lblIbanBic.setBounds(267, 201, 27, 14);
         lblIbanBic.setSize(108, 14);
     }
     {
         lblIso = new JLabel();
         getContentPane().add(lblIso);
         lblIso.setText("ISO-639 taalcode:");
         lblIso.setBounds(267, 233, 27, 14);
         lblIso.setSize(108, 14);
     }
     {
         lblNota = new JLabel();
         getContentPane().add(lblNota);
         lblNota.setText("Nota:");
         lblNota.setBounds(267, 264, 27, 14);
         lblNota.setSize(108, 14);
     }
     {
         ComboBoxModel jComboBox1Model =
                   new DefaultComboBoxModel(
                                       new String[] { "Dhr.", "Mvr.", });
         AanspreekVorm = new JComboBox();
         getContentPane().add(AanspreekVorm);
         AanspreekVorm.setModel(jComboBox1Model);
         AanspreekVorm.setBounds(144, 27, 90, 21);
     }
     {
         txtNaam = new JTextField();
         getContentPane().add(txtNaam);
         txtNaam.setBounds(144, 94, 90, 21);
     }
     {
         txtVoorNaam = new JTextField();
         getContentPane().add(txtVoorNaam);
         txtVoorNaam.setBounds(144, 60, 90, 21);
     }
     {
         txtLand = new JTextField();
         getContentPane().add(txtLand);
         txtLand.setBounds(144, 127, 90, 21);
     }
     {
         txtGemeente = new JTextField();
         getContentPane().add(txtGemeente);

45
         txtGemeente.setBounds(144, 161, 90, 21);
     }
     {
         txtPostcode = new JTextField();
         getContentPane().add(txtPostcode);
         txtPostcode.setBounds(144, 195, 90, 21);
     }
     {
         txtStraatenNr = new JTextField();
         getContentPane().add(txtStraatenNr);
         txtStraatenNr.setBounds(144, 228, 90, 21);
     }
     {
         txtBedrijf = new JTextField();
         getContentPane().add(txtBedrijf);
         txtBedrijf.setBounds(144, 296, 90, 21);
     }
     {
         txtTelNr = new JTextField();
         getContentPane().add(txtTelNr);
         txtTelNr.setBounds(392, 27, 90, 21);
     }
     {
         txtGsmNr = new JTextField();
         getContentPane().add(txtGsmNr);
         txtGsmNr.setBounds(392, 60, 90, 21);
     }
     {
         txtFaxNr = new JTextField();
         getContentPane().add(txtFaxNr);
         txtFaxNr.setBounds(392, 95, 90, 21);
     }
     {
         txtEmail = new JTextField();
         getContentPane().add(txtEmail);
         txtEmail.setBounds(392, 130, 90, 21);
     }
     {
         txtRekNr = new JTextField();
         getContentPane().add(txtRekNr);
         txtRekNr.setBounds(392, 164, 90, 21);
     }
     {
         txtIbanBic = new JTextField();
         getContentPane().add(txtIbanBic);
         txtIbanBic.setBounds(392, 198, 90, 21);
     }
     {
         txtTaalCode = new JTextField();
         getContentPane().add(txtTaalCode);
         txtTaalCode.setBounds(392, 230, 90, 21);
     }
     {
         Nota = new JScrollPane();
         getContentPane().add(Nota);
         Nota.setBounds(392, 264, 90, 59);
         {
                   jEditorPane1 = new JEditorPane();
                   Nota.setViewportView(jEditorPane1);
                   jEditorPane1.setPreferredSize(new java.awt.Dimension(103, 80));
         }
     }
     {
         ComboBoxModel TaalModel =
                   new DefaultComboBoxModel(
                                         new String[] { "Nederlands", "Frans","Engels" });
         Taal = new JComboBox();
         getContentPane().add(Taal);
         Taal.setModel(TaalModel);
         Taal.setBounds(144, 263, 90, 21);
     }
     {
         btnOk = new JButton();
         getContentPane().add(btnOk);
         btnOk.setText("OK");
         btnOk.setBounds(385, 360, 105, 28);

46
                                            btnOk.setEnabled(true);
                                            btnOk.addActionListener(new ActionListener() {
                                                      public void actionPerformed(ActionEvent evt) {
                                                                 btnOkActionPerformed(evt);
                                                      }
                                            });
                                 }
                                 {
                                            btnAnnuleren = new JButton();
                                            getContentPane().add(btnAnnuleren);
                                            btnAnnuleren.setText("Annuleren");
                                            btnAnnuleren.setBounds(267, 360, 105, 28);
                                            btnAnnuleren.addActionListener(new ActionListener() {
                                                      public void actionPerformed(ActionEvent evt) {
                                                                 btnAnnulerenActionPerformed(evt);
                                                      }
                                            });
                                 }
                                 pack();
                                 this.setSize(598, 452);
                      } catch (Exception e) {
                                 e.printStackTrace();
                      }
           }




           private void btnOkActionPerformed(ActionEvent evt)
           {
                      int aanspreekvorm = AanspreekVorm.getSelectedIndex();

                      String klantVoornaam = txtVoorNaam.getText();
                      String klantAchternaam = txtNaam.getText();
                      String klantLand = txtLand.getText();
                      String klantGemeente = txtGemeente.getText();
                      int postcode = Integer.parseInt(txtPostcode.getText());
                      String straatEnNr = txtStraatenNr.getText();
                      int klantTaal = Taal.getSelectedIndex();
                      String naamBedrijfOfOrganisatie = txtBedrijf.getText();
                      int telefoonNr = Integer.parseInt(txtTelNr.getText());
                      int mobielNr = Integer.parseInt(txtGsmNr.getText());
                      int faxNr = Integer.parseInt(txtFaxNr.getText());
                      String epostAdres = txtEmail.getText();
                      int rekeningnr = Integer.parseInt(txtRekNr.getText());
                      int IBANOfBICCode = Integer.parseInt(txtIbanBic.getText());
                      int taalcode = Integer.parseInt(txtTaalCode.getText());
                      String notities = jEditorPane1.getText();

                      if(txtNaam.getText().length() == 0 | txtVoorNaam.getText().length() == 0 | txtLand.getText().length()== 0|
txtGemeente.getText().length() == 0| txtPostcode.getText().length() == 0| txtStraatenNr.getText().length() == 0| txtBedrijf.getText().length()
== 0| txtTelNr.getText().length() == 0 | txtGsmNr.getText().length() == 0 | txtFaxNr.getText().length() == 0 | txtEmail.getText().length() ==
0 | txtRekNr.getText().length() == 0 | txtIbanBic.getText().length() == 0 | txtTaalCode.getText().length() == 0)
                      {
                                  JOptionPane.showMessageDialog(null, "Niet alle velden zijn ingevuld !");
                      }
                      else
                      {

                      domeincontroller.klanttoevoegen(aanspreekvorm, klantVoornaam, klantAchternaam, klantLand, klantGemeente,
postcode, straatEnNr, klantTaal,naamBedrijfOfOrganisatie, telefoonNr, mobielNr, faxNr,epostAdres, rekeningnr, IBANOfBICCode,
taalcode, notities);
                      ProgramFrame pf = new ProgramFrame(domeincontroller);
                      pf.setVisible(true);
                      this.dispose();
                      }

           }

           private void btnAnnulerenActionPerformed(ActionEvent evt)
           {
                      ProgramFrame annuleer = new ProgramFrame(domeincontroller);
                      this.dispose();
                      annuleer.setVisible(true);
           }


47
                     /*private void klantWeergeven() {
                                txtNaam.setText(DomeinController.geefNaam());
                                txtVoorNaam.setText(DomeinController.geefVoorNaam());
                                txtLand.setText(DomeinController.geefLand());
                                txtGemeente.setText(DomeinController.geefGemeente());
                                txtPostcode.setText(DomeinController.geefPostcode());
                                txtStraatenNr.setText(DomeinController.geefStraatenNr());
                                txtBedrijf.setText(domeinController.geefBedrijf());
                                txtTelNr.setText(DomeinController.geefTelNr());
                                txtGsmNr.setText(DomeinController.geefGsmNr());
                                txtFaxNr.setText(DomeinController.geefFaxNr());
                                txtEmail.setText(DomeinController.geefEmail());
                                txtRekNr.setText(DomeinController.geefRekNr());
                                txtIbanBic.setText(DomeinController.geefIbanBic());
                                txtTaalCode.setText(DomeinController.geefTaalCode());

                     } */

}
/**
 *
 * @author Stefan Eeckhoudt
 * @version 1.0
 */

package gui;
import java.util.List;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.ImageIcon;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JTextField;

import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;

import domein.DomeinController;
import domein.Klant;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class KlantVerwijderen extends javax.swing.JFrame {

          private JComboBox cmbKlant;
          private JButton btnVerwijder;
          private JLabel lblKlantnummer;
          private JTextField txtKlantnummer;

          private List<Klant> klantenLijst;
          DomeinController domeincontroller;
          private JButton btnAnnuleer;

public KlantVerwijderen(DomeinController doco) {

                     super();

                     this.setLocationRelativeTo(null);
                     this.setVisible(true);
                     klantenLijst = doco.getKlanten();
                     domeincontroller = doco;
                     initGUI();

          }



          private void initGUI() {
                     try {
                                setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
                                getContentPane().setLayout(null);
                                this.setTitle("Hotel Triolet");


48
                               this.setIconImage(new ImageIcon(getClass().getClassLoader().getResource("lib/h.bmp")).getImage());

                               {
                                          btnVerwijder = new JButton();
                                          getContentPane().add(btnVerwijder);
                                          btnVerwijder.setText(domeincontroller.getMessages().getString("klantVerwijderen"));
                                          btnVerwijder.setBounds(175, 120, 117, 22);
                                          btnVerwijder.addActionListener(new ActionListener() {
                                                    public void actionPerformed(ActionEvent evt) {
                                                               btnVerwijderActionPerformed(evt);
                                                    }
                                          });
                               }
                               {
                                          btnAnnuleer = new JButton();
                                          getContentPane().add(btnAnnuleer);
                                          btnAnnuleer.setText(domeincontroller.getMessages().getString("annuleren"));
                                          btnAnnuleer.setBounds(32, 121, 117, 21);
                                          btnAnnuleer.addActionListener(new ActionListener() {
                                                    public void actionPerformed(ActionEvent evt) {
                                                               btnAnnulerenActionPerformed(evt);
                                                    }
                                          });
                               }
                               {
                                          txtKlantnummer = new JTextField();
                                          getContentPane().add(txtKlantnummer);
                                          txtKlantnummer.setBounds(147, 49, 145, 22);
                               }

                               {
                                          lblKlantnummer = new JLabel();
                                          getContentPane().add(lblKlantnummer);
                                          lblKlantnummer.setText("Klantnummer:");
                                          lblKlantnummer.setBounds(32, 52, 103, 16);
                               }

                               pack();
                               this.setSize(360, 200);
                    } catch (Exception e) {
                               e.printStackTrace();
                    }
          }

          private void btnVerwijderActionPerformed(ActionEvent evt)
          {

                    int frameKlantnummer = Integer.parseInt(txtKlantnummer.getText());


                    domeincontroller.klantverwijderen(frameKlantnummer);

                    ProgramFrame pf = new ProgramFrame(domeincontroller);
                    pf.setVisible(true);
                    this.dispose();


          }



          private void btnAnnulerenActionPerformed(ActionEvent evt)
          {
                     ProgramFrame annuleer = new ProgramFrame(domeincontroller);
                     this.dispose();
                     annuleer.setVisible(true);
          }

}
/**
 *
 * @author Giles Duinslaeger
 * @version 1.0
 */



49
package gui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;

import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;

import domein.DomeinController;
import domein.Gebruiker;
import domein.Klant;


public class KlantZoeken extends javax.swing.JFrame {
           private JLabel lblVoorNaam;
           private JButton btnZoeken;
           private JButton btnAnnuleer;
           private JTextField txtGemeente;
           private JTextField txtAchterNaam;
           private JTextField txtNaam;
           private JLabel lblGemeente;
           private JLabel lblAchterNaam;

          private List<Klant> klantenLijst;
          DomeinController domeincontroller;

public KlantZoeken(DomeinController doco) {

                     super();

                     this.setLocationRelativeTo(null);
                     this.setVisible(true);
                     klantenLijst = doco.getKlanten();
                     domeincontroller = doco;
                     initGUI();

          }

          private void initGUI() {
                     try {
                                setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
                                getContentPane().setLayout(null);
                                this.setTitle("Hotel Triolet");
                                this.setIconImage(new ImageIcon(getClass().getClassLoader().getResource("lib/h.bmp")).getImage());
                                {
                                            lblVoorNaam = new JLabel();
                                            getContentPane().add(lblVoorNaam);
                                            lblVoorNaam.setText(domeincontroller.getMessages().getString("voornaam"));
                                            lblVoorNaam.setBounds(25, 24, 85, 14);
                                }
                                {
                                            lblAchterNaam = new JLabel();
                                            getContentPane().add(lblAchterNaam);
                                            lblAchterNaam.setText(domeincontroller.getMessages().getString("naam"));
                                            lblAchterNaam.setBounds(25, 68, 85, 14);
                                }
                                {
                                            lblGemeente = new JLabel();
                                            getContentPane().add(lblGemeente);
                                            lblGemeente.setText(domeincontroller.getMessages().getString("gemeente"));;
                                            lblGemeente.setBounds(25, 112, 85, 14);
                                }
                                {
                                            txtNaam = new JTextField();
                                            getContentPane().add(txtNaam);
                                            txtNaam.setBounds(161, 21, 144, 21);
                                }
                                {
                                            txtAchterNaam = new JTextField();
                                            getContentPane().add(txtAchterNaam);
                                            txtAchterNaam.setBounds(161, 65, 144, 21);

50
                                }
                                {
                                           txtGemeente = new JTextField();
                                           getContentPane().add(txtGemeente);
                                           txtGemeente.setBounds(161, 109, 144, 21);
                                }
                                {
                                           btnZoeken = new JButton();
                                           getContentPane().add(btnZoeken);
                                           btnZoeken.setText(domeincontroller.getMessages().getString("zoeken"));
                                           btnZoeken.setBounds(197, 154, 108, 21);
                                           btnZoeken.addActionListener(new ActionListener() {
                                                     public void actionPerformed(ActionEvent evt) {
                                                                btnZoekenActionPerformed(evt);
                                                     }
                                           });
                                }
                                {
                                           btnAnnuleer = new JButton();
                                           getContentPane().add(btnAnnuleer);
                                           btnAnnuleer.setText(domeincontroller.getMessages().getString("annuleren"));
                                           btnAnnuleer.setBounds(77, 154, 108, 21);
                                           btnAnnuleer.addActionListener(new ActionListener() {
                                                     public void actionPerformed(ActionEvent evt) {
                                                                btnAnnulerenActionPerformed(evt);
                                                     }
                                           });
                                }
                                pack();
                                this.setSize(391, 228);
                     } catch (Exception e) {
                                e.printStackTrace();
                     }
          }

          private void btnZoekenActionPerformed(ActionEvent evt)
          {

                     String frameVoornaam = txtNaam.getText();
                     String frameAchternaam = txtAchterNaam.getText();
                     String frameGemeente = txtGemeente.getText();

                     domeincontroller.klantzoeken(frameVoornaam, frameAchternaam,frameGemeente);


          }
          private void btnAnnulerenActionPerformed(ActionEvent evt)
          {
                     ProgramFrame annuleer = new ProgramFrame(domeincontroller);
                     this.dispose();
                     annuleer.setVisible(true);
          }

}
/**
 *
 * @author Sam Perdu
 * @version 1.0
 */

package gui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
import javax.swing.ImageIcon;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;



51
import domein.DomeinController;
import domein.Gebruiker;


public class LoginFrame extends javax.swing.JFrame {

          private JLabel lblUserId;
          private JLabel lblWachtwoord;
          private JTextField txtUserId;
          private JPasswordField Wachtwoord;
          private JButton btnInloggen;
          private JButton btnRegistreer;

          private List<Gebruiker> gebruikers;
          DomeinController domeincontroller;

          public void inloggen()
          {
                     String pwd = Wachtwoord.getText();
                     String us = txtUserId.getText();
                     if(pwd.equals("") | us.equals("") )
                     {
                                JOptionPane.showMessageDialog(null, "Vul alle velden in aub!");
                     }
                     else
                     {
                                for (int x=0;x<=(gebruikers.size()-1);x++)
                                {
                                            Gebruiker gebruiker = gebruikers.get(x);
                                            if(gebruiker.getGebruikersnaam().equals(us))
                                            {
                                                        if(gebruiker.getWachtwoord().equals(pwd))
                                                        {
                                                                   TaalFrame tf = new TaalFrame(domeincontroller);
                                                                   this.dispose();
                                                                   tf.setVisible(true);
                                                                   break;
                                                        }
                                                        else
                                                        {
                                                                   JOptionPane.showMessageDialog(null, "Password is incorect");
                                                                   break;
                                                        }
                                            }
                                }
                     }
          }

public LoginFrame(DomeinController doco) {

                    super();

                    this.setLocationRelativeTo(null);
                    this.setVisible(true);
                    gebruikers = doco.getGebruikers();
                    domeincontroller = doco;
                    initGUI();

          }

          private void initGUI() {
                     try {
                                setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
                                getContentPane().setLayout(null);
                                this.setTitle("Hotel Triolet");
                                this.setIconImage(new ImageIcon(getClass().getClassLoader().getResource("lib/h.bmp")).getImage());
                                {
                                            lblUserId = new JLabel();
                                            getContentPane().add(lblUserId);
                                            lblUserId.setText("Username:");
                                            lblUserId.setBounds(33, 33, 89, 14);
                                }
                                {
                                            lblWachtwoord = new JLabel();
                                            getContentPane().add(lblWachtwoord);
                                            lblWachtwoord.setText("Password:");

52
                                           lblWachtwoord.setBounds(33, 84, 83, 14);
                                }
                                {
                                           txtUserId = new JTextField();
                                           getContentPane().add(txtUserId);
                                           txtUserId.setBounds(176, 30, 105, 21);
                                }
                                {
                                           Wachtwoord = new JPasswordField();
                                           getContentPane().add(Wachtwoord);
                                           Wachtwoord.setBounds(176, 81, 105, 21);
                                }
                                {
                                           btnInloggen = new JButton();
                                           getContentPane().add(btnInloggen);
                                           btnInloggen.setText("Login");
                                           btnInloggen.setBounds(105, 123, 99, 31);
                                           btnInloggen.addActionListener(new ActionListener() {
                                                     public void actionPerformed(ActionEvent evt) {
                                                                btnInloggenActionPerformed(evt);

                                                      }
                                           });
                                }

                                pack();
                                this.setSize(325, 196);
                     } catch (Exception e) {
                                e.printStackTrace();
                     }
          }


          public void btnInloggenActionPerformed (ActionEvent evt)
          {
                     inloggen();

          }

}
/**
 *
 * @author Stefan Eeckhoudt
 * @version 1.0
 */

package gui;
import java.awt.BorderLayout;
import java.awt.Color;

import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.SwingConstants;
import java.util.GregorianCalendar;
import javax.swing.ImageIcon;
import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;
import javax.swing.border.LineBorder;
import java.util.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;

import domein.*;



public class Offerte extends javax.swing.JFrame {

          private JLabel lblEpostadres;
          private JLabel lblBtwnr;
          private JLabel lblIban;
          private JLabel lblTelefoonnr;
          private JLabel lblKlantstad;
          private JLabel lblKlantadres;


53
          private JLabel lblKlantnaam;
          private JLabel lblStad;
          private JLabel lblStraat;
          private JLabel lblFaxnr;
          private JLabel lblAan;
          private JLabel lblFactnr;
          private JLabel lblFactdatum;
          private JLabel lblKlantnr;
          private JLabel lblOfferte;
          private JTextArea ArAnOmschr;
          private JTextArea ArCatOmschr;
          private JTextArea ArKamerOmschr;
          private JTextArea ArinclBtw;
          private JTextArea ArexclBtw;
          private JLabel lblTtli;
          private JLabel lblTtle;
          private JTextArea ArBedrAnnul;
          private JTextArea ArBedrCat;
          private JTextArea ArBedrKamer;
          private JTextArea ArBtwAnnul;
          private JTextArea ArBtwCat;
          private JTextArea ArBtwKamer;
          private JTextArea ArQuantAnnul;
          private JTextArea ArQuantCat;
          private JTextArea ArQuantKamer;
          private JTextArea ArEenhAnnul;
          private JTextArea ArEenhCat;
          private JLabel lblNaaam;
          private JTextArea ArEenhKamer;
          private JLabel lblBedrag;
          private JLabel lblBtw;
          private JLabel lblLogo;
          private JLabel lblOmschrijving;
          private JLabel lblQuant;
          private JLabel lblEenhp;
          private JLabel lblVerz;
          private JLabel lblCat;

          private List<Factuur> factuurLijst;

          DomeinController domeincontroller = new DomeinController();

          public Offerte(DomeinController doco, List<Factuur> factuurLijst)
          {
                     super();
                     this.setLocationRelativeTo(null);
                     this.setVisible(true);

                     domeincontroller = doco;
                     initGUI();

          int datanr = factuurLijst.get(0).getDataNr();
                      int personen = factuurLijst.get(0).getPersonen();
                      int basispr;
                      int zeepr;
                      int catpr;
                      int annulpr;


                       lblKlantstad.setText(factuurLijst.get(0).getGemeente()+" "+factuurLijst.get(0).getPostcode()+"\n
"+factuurLijst.get(0).getLand());
                       lblKlantadres.setText(factuurLijst.get(0).getStraatEnNr());
                       lblKlantnaam.setText(factuurLijst.get(0).getVoorNaam()+" "+factuurLijst.get(0).getAchterNaam());
                       lblKlantnr.setText(domeincontroller.getMessages().getString("klantnr")+factuurLijst.get(0).getKlantNr());
                       Date factuurDatum = factuurLijst.get(0).getFactuurDatum().getTime();
                       DateFormat format = new SimpleDateFormat("dd-MM-yyyy");
                       lblFactdatum.setText(domeincontroller.getMessages().getString("factuurdat") +format.format(factuurDatum));
                       lblFactnr.setText(domeincontroller.getMessages().getString("factNr")+ +factuurLijst.get(0).getFactuurNr());

                     String zeezichtofniet = "";

                     if((factuurLijst.get(0).getZeezicht()) == 1)
                     {
                                 zeezichtofniet = "Ja";
                                 zeepr=30;
                     }

54
     else
     {
                zeezichtofniet = "Nee";
                zeepr=0;
     }

     String kamertypestring = "";

     if((factuurLijst.get(0).getKamerType()) == 1)
     {
                 kamertypestring = "Twin";
                 if(datanr==1)
                 {
                             basispr = 160;
                 }
                 else if(datanr==3 || datanr==5 || datanr==7)
                 {
                             basispr = 120;
                 }
                 else
                 {
                             basispr = 90;
                 }
     }
     else if((factuurLijst.get(0).getKamerType()) == 2)
     {
                 kamertypestring = "King";
                 if(datanr==1)
                 {
                             basispr = 160;
                 }
                 else if(datanr==3 || datanr==5 || datanr==7)
                 {
                             basispr = 120;
                 }
                 else
                 {
                             basispr = 90;
                 }
     }
     else if((factuurLijst.get(0).getKamerType()) == 3)
     {
                 kamertypestring = "triple twin";
                 if(datanr==1)
                 {
                             basispr = 190;
                 }
                 else if(datanr==3 || datanr==5 || datanr==7)
                 {
                             basispr = 155;
                 }
                 else
                 {
                             basispr = 125;
                 }
     }
     else if((factuurLijst.get(0).getKamerType()) == 4)
     {
                 kamertypestring = "triple king";
                 if(datanr==1)
                 {
                             basispr = 190;
                 }
                 else if(datanr==3 || datanr==5 || datanr==7)
                 {
                             basispr = 155;
                 }
                 else
                 {
                             basispr = 125;
                 }
     }
     else if((factuurLijst.get(0).getKamerType()) == 5)
     {
                 kamertypestring = "quadruple twin";
                 if(datanr==1)

55
                                {
                                            basispr = 250;
                                }
                                else if(datanr==3 || datanr==5 || datanr==7)
                                {
                                            basispr = 200;
                                }
                                else
                                {
                                            basispr = 170;
                                }
                     }
                     else
                     {
                                kamertypestring = "quadruple king";
                                if(datanr==1)
                                {
                                            basispr = 250;
                                }
                                else if(datanr==3 || datanr==5 || datanr==7)
                                {
                                            basispr = 200;
                                }
                                else
                                {
                                            basispr = 170;
                                }
                     }



                      ArKamerOmschr.setText("kamernummer:"+factuurLijst.get(0).getKamerNr()+"\n" + "kamertype:"+kamertypestring +
"\n" + "zeezicht :"+zeezichtofniet);

                     String catering = "";

                     if((factuurLijst.get(0).getCateringNr() == 1))
                     {
                                 catering = "volpension";
                                 catpr=60;
                     }
                     else if((factuurLijst.get(0).getCateringNr()) == 2)
                     {
                                 catering = "halfpension";
                                 catpr=40;
                     }
                     else
                     {
                                 catering = "ontbijt";
                                 catpr=8;
                     }
                     ArCatOmschr.setText(catering);

                     String annulatie = "";

                     if((factuurLijst.get(0).getAnnulatieVerzekering() == 1))
                     {
                                 annulatie = "Ja";
                                 annulpr = 25;
                     }
                     else
                     {
                                 annulatie = "Nee";
                                 annulpr=0;
                     }
                     ArAnOmschr.setText(annulatie);

                     prijzenToevoegen(basispr, zeepr, annulpr, catpr, personen);
          }

          public void prijzenToevoegen(int basispr, int zeepr, int annulpr, int catpr, int personen)
          {
                     ArexclBtw.setText(""+((((catpr)*personen)+annulpr+(basispr+zeepr))*0.79));
                     ArinclBtw.setText(""+((((catpr)*personen)+annulpr+(basispr+zeepr))));
                     ArQuantKamer.setText("1");
                     ArQuantAnnul.setText("1");

56
               ArQuantCat.setText("" + personen);
               ArEenhCat.setText(""+((catpr)*0.79));
               ArBtwCat.setText(""+((catpr)*0.21));
               ArBedrCat.setText(""+((catpr)*personen));
               ArEenhKamer.setText(""+((basispr+zeepr)*0.79));
               ArBtwKamer.setText(""+((basispr+zeepr)*0.21));
               ArBedrKamer.setText(""+((basispr+zeepr)));
               ArEenhAnnul.setText(""+((annulpr)*0.79));
               ArBtwAnnul.setText(""+((annulpr)*0.21));
               ArBedrAnnul.setText(""+((annulpr)));


     }

     private void initGUI() {
                try {
                           setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
                           getContentPane().setLayout(null);
                           this.setTitle("Hotel Triolet");
                           this.setIconImage(new ImageIcon(getClass().getClassLoader().getResource("lib/h.bmp")).getImage());

                          {
                                    lblFactdatum = new JLabel();
                                    getContentPane().add(lblFactdatum);
                                    lblFactdatum.setText(domeincontroller.getMessages().getString("factuurdat"));
                                    lblFactdatum.setBounds(180, 202, 200, 14);
                                    lblFactdatum.setFont(new java.awt.Font("Tahoma",1,11));
                          }
                          {
                                    lblFactnr = new JLabel();
                                    getContentPane().add(lblFactnr);
                                    lblFactnr.setText(domeincontroller.getMessages().getString("factNr"));
                                    lblFactnr.setBounds(379, 202, 200, 14);
                                    lblFactnr.setFont(new java.awt.Font("Tahoma",1,11));
                          }
                          {
                                    lblAan = new JLabel();
                                    getContentPane().add(lblAan);
                                    lblAan.setText(domeincontroller.getMessages().getString("aan"));
                                    lblAan.setBounds(285, 15, 29, 14);
                                    lblAan.setFont(new java.awt.Font("Tahoma",1,11));
                          }
                          {
                                    lblOfferte = new JLabel();
                                    getContentPane().add(lblOfferte);
                                    lblOfferte.setText(domeincontroller.getMessages().getString("offerte"));
                                    lblOfferte.setBounds(12, 138, 586, 40);
                                    lblOfferte.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
                                    lblOfferte.setHorizontalAlignment(SwingConstants.CENTER);
                                    lblOfferte.setFont(new java.awt.Font("Teheran",0,18));
                                    lblOfferte.setForeground(Color.DARK_GRAY);
                          }
                          {
                                    lblKlantnaam = new JLabel();
                                    getContentPane().add(lblKlantnaam);
                                    lblKlantnaam.setText(domeincontroller.getMessages().getString("naamm"));
                                    lblKlantnaam.setBounds(285, 37, 200, 14);
                          }
                          {
                                    lblKlantadres = new JLabel();
                                    getContentPane().add(lblKlantadres);
                                    lblKlantadres.setText(domeincontroller.getMessages().getString("adres"));
                                    lblKlantadres.setBounds(285, 54, 200, 14);
                          }
                          {
                                    lblKlantstad = new JLabel();
                                    getContentPane().add(lblKlantstad);
                                    lblKlantstad.setText(domeincontroller.getMessages().getString("gemeente"));
                                    lblKlantstad.setBounds(285, 69, 200, 14);
                          }
                          {
                                    lblCat = new JLabel();
                                    getContentPane().add(lblCat);
                                    lblCat.setText(domeincontroller.getMessages().getString("catering"));
                                    lblCat.setBounds(12, 367, 200, 14);
                          }

57
     {
         lblVerz = new JLabel();
         getContentPane().add(lblVerz);
         lblVerz.setText(domeincontroller.getMessages().getString("Annulatieverz"));
         lblVerz.setBounds(10, 423, 220, 14);
     }
     {
         lblEenhp = new JLabel();
         getContentPane().add(lblEenhp);
         lblEenhp.setText(domeincontroller.getMessages().getString("E.P."));
         lblEenhp.setBounds(247, 244, 20, 14);
         lblEenhp.setFont(new java.awt.Font("Tahoma",1,11));
     }
     {
         lblQuant = new JLabel();
         getContentPane().add(lblQuant);
         lblQuant.setText(domeincontroller.getMessages().getString("hoeveelheid"));
         lblQuant.setBounds(306, 244, 73, 14);
         lblQuant.setFont(new java.awt.Font("Tahoma",1,11));
     }
     {
         lblBtw = new JLabel();
         getContentPane().add(lblBtw);
         lblBtw.setText(domeincontroller.getMessages().getString("btwbedrag"));
         lblBtw.setBounds(418, 244, 93, 14);
         lblBtw.setFont(new java.awt.Font("Tahoma",1,11));
     }
     {
         lblBedrag = new JLabel();
         getContentPane().add(lblBedrag);
         lblBedrag.setText(domeincontroller.getMessages().getString("bedrag"));
         lblBedrag.setBounds(537, 244, 42, 14);
         lblBedrag.setFont(new java.awt.Font("Tahoma",1,11));
     }
     {
         ArEenhKamer = new JTextArea();
         getContentPane().add(ArEenhKamer);
         ArEenhKamer.setText(" ");
         ArEenhKamer.setBounds(226, 278, 57, 18);
         ArEenhKamer.setEditable(false);
         ArEenhKamer.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
     }
     {
         ArEenhCat = new JTextArea();
         getContentPane().add(ArEenhCat);
         ArEenhCat.setText(" ");
         ArEenhCat.setBounds(226, 399, 59, 18);
         ArEenhCat.setEditable(false);
         ArEenhCat.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
     }
     {
         ArEenhAnnul = new JTextArea();
         getContentPane().add(ArEenhAnnul);
         ArEenhAnnul.setText(" ");
         ArEenhAnnul.setBounds(226, 450, 59, 18);
         ArEenhAnnul.setEditable(false);
         ArEenhAnnul.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
     }
     {
         ArQuantKamer = new JTextArea();
         getContentPane().add(ArQuantKamer);
         ArQuantKamer.setText(" ");
         ArQuantKamer.setBounds(314, 278, 57, 18);
         ArQuantKamer.setEditable(false);
         ArQuantKamer.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
     }
     {
         ArQuantCat = new JTextArea();
         getContentPane().add(ArQuantCat);
         ArQuantCat.setText(" ");
         ArQuantCat.setBounds(324, 399, 65, 18);
         ArQuantCat.setEditable(false);
         ArQuantCat.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
     }
     {
         ArQuantAnnul = new JTextArea();

58
         getContentPane().add(ArQuantAnnul);
         ArQuantAnnul.setText(" ");
         ArQuantAnnul.setBounds(324, 450, 65, 18);
         ArQuantAnnul.setEditable(false);
         ArQuantAnnul.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
     }
     {
         ArBtwKamer = new JTextArea();
         getContentPane().add(ArBtwKamer);
         ArBtwKamer.setText(" ");
         ArBtwKamer.setBounds(424, 278, 57, 18);
         ArBtwKamer.setEditable(false);
         ArBtwKamer.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
     }
     {
         ArBtwCat = new JTextArea();
         getContentPane().add(ArBtwCat);
         ArBtwCat.setText(" ");
         ArBtwCat.setBounds(423, 399, 63, 18);
         ArBtwCat.setEditable(false);
         ArBtwCat.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
     }
     {
         ArBtwAnnul = new JTextArea();
         getContentPane().add(ArBtwAnnul);
         ArBtwAnnul.setText(" ");
         ArBtwAnnul.setBounds(423, 450, 63, 18);
         ArBtwAnnul.setEditable(false);
         ArBtwAnnul.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
     }
     {
         ArBedrKamer = new JTextArea();
         getContentPane().add(ArBedrKamer);
         ArBedrKamer.setText(" ");
         ArBedrKamer.setBounds(529, 278, 57, 18);
         ArBedrKamer.setEditable(false);
         ArBedrKamer.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
     }
     {
         ArBedrCat = new JTextArea();
         getContentPane().add(ArBedrCat);
         ArBedrCat.setText(" ");
         ArBedrCat.setBounds(522, 399, 64, 18);
         ArBedrCat.setEditable(false);
         ArBedrCat.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
     }
     {
         ArBedrAnnul = new JTextArea();
         getContentPane().add(ArBedrAnnul);
         ArBedrAnnul.setText(" ");
         ArBedrAnnul.setBounds(522, 450, 64, 18);
         ArBedrAnnul.setEditable(false);
         ArBedrAnnul.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
     }
     {
         lblTtle = new JLabel();
         getContentPane().add(lblTtle);
         lblTtle.setText(domeincontroller.getMessages().getString("Totaalexcl"));
         lblTtle.setBounds(226, 480, 94, 14);
         lblTtle.setFont(new java.awt.Font("Tahoma",1,11));
     }
     {
         lblTtli = new JLabel();
         getContentPane().add(lblTtli);
         lblTtli.setText(domeincontroller.getMessages().getString("Totaalincl"));
         lblTtli.setBounds(418, 480, 93, 14);
         lblTtli.setFont(new java.awt.Font("Tahoma",1,11));
     }
     {
         ArexclBtw = new JTextArea();
         getContentPane().add(ArexclBtw);
         ArexclBtw.setText(" ");
         ArexclBtw.setBounds(226, 506, 59, 18);
         ArexclBtw.setEditable(false);
         ArexclBtw.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
     }

59
         {
             ArinclBtw = new JTextArea();
             getContentPane().add(ArinclBtw);
             ArinclBtw.setText(" ");
             ArinclBtw.setBounds(424, 506, 62, 18);
             ArinclBtw.setEditable(false);
             ArinclBtw.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
         }
         {
             ArKamerOmschr = new JTextArea();
             getContentPane().add(ArKamerOmschr);
             ArKamerOmschr.setText(" ");
             ArKamerOmschr.setBounds(12, 272, 191, 83);
             ArKamerOmschr.setEditable(false);
             ArKamerOmschr.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));

         }
         {
             ArCatOmschr = new JTextArea();
             getContentPane().add(ArCatOmschr);
             ArCatOmschr.setText(" ");
             ArCatOmschr.setBounds(12, 398, 191, 18);
             ArCatOmschr.setEditable(false);
             ArCatOmschr.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
         }
         {
             ArAnOmschr = new JTextArea();
             getContentPane().add(ArAnOmschr);
             ArAnOmschr.setText(" ");
             ArAnOmschr.setBounds(12, 449, 191, 18);
             ArAnOmschr.setEditable(false);
             ArAnOmschr.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));

     {

             lblOmschrijving = new JLabel();
             getContentPane().add(lblOmschrijving);
             lblOmschrijving.setText(domeincontroller.getMessages().getString("omschr"));

             lblOmschrijving.setBounds(12, 242, 74, 16);
         }

         }
         {
             lblTelefoonnr = new JLabel();
             getContentPane().add(lblTelefoonnr);
             lblTelefoonnr.setText("Tel: +(33) 05 59 51 03 44");
             lblTelefoonnr.setBounds(12, 54, 200, 14);
         }
         {
             lblFaxnr = new JLabel();
             getContentPane().add(lblFaxnr);
             lblFaxnr.setText("Fax: +(33) 05 59 51 03 48");
             lblFaxnr.setBounds(12, 69, 200, 14);
         }
         {
             lblIban = new JLabel();
             getContentPane().add(lblIban);
             lblIban.setText("IBAN FR12 3453 4453 5456");
             lblIban.setBounds(12, 97, 200, 14);
         }
         {
             lblBtwnr = new JLabel();
             getContentPane().add(lblBtwnr);
             lblBtwnr.setText("BTWNR 9452.2352.245.2");
             lblBtwnr.setBounds(12, 112, 200, 14);
         }
         {
             lblEpostadres = new JLabel();
             getContentPane().add(lblEpostadres);
             lblEpostadres.setText("reservation@hoteltriolet.com");
             lblEpostadres.setBounds(12, 83, 200, 14);
         }

         {
             lblNaaam = new JLabel();

60
                                           getContentPane().add(lblNaaam);
                                           lblNaaam.setText("Hotel Triolet");
                                           lblNaaam.setBounds(12, 12, 200, 18);

                                }
                                {
                                           lblStraat = new JLabel();
                                           getContentPane().add(lblStraat);
                                           lblStraat.setText("Promenade Jacques Thibaud 43");
                                           lblStraat.setBounds(12, 26, 200, 14);
                                }
                                {
                                           lblStad = new JLabel();
                                           getContentPane().add(lblStad);
                                           lblStad.setText("4500 Montpellier");
                                           lblStad.setBounds(12, 40, 200, 14);
                                }


                                {
                                           lblKlantnr = new JLabel();
                                           getContentPane().add(lblKlantnr);
                                           lblKlantnr.setText(domeincontroller.getMessages().getString("klantnr"));
                                           lblKlantnr.setBounds(12, 202, 200, 14);
                                           lblKlantnr.setFont(new java.awt.Font("Tahoma",1,11));
                                }
                                {
                                           lblLogo = new JLabel();
                                           getContentPane().add(lblLogo);
                                           lblLogo.setIcon(new ImageIcon(getClass().getClassLoader().getResource("lib/logoklein.jpg")));
                                           lblLogo.setBounds(481, 14, 118, 92);
                                }

                                pack();
                                this.setSize(632, 594);
                     } catch (Exception e) {
                                e.printStackTrace();
                     }
          }

}

/**
 *
 * @author Sam Perdu
 * @version 1.0
 */

package gui;
import com.cloudgarden.layout.AnchorLayout;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.DateFormat;
import java.util.List;
import javax.swing.JButton;

import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;

import domein.Boeking;
import domein.Data;
import domein.DomeinController;
import domein.Factuur;
import domein.Kamer;
import domein.Klant;

public class OverzichtGasten extends javax.swing.JFrame {



61
           private List <Kamer> kamerLijst;
           private List <Boeking> boekingLijst;
           private List<Klant> klantenLijst;
           private List<Data> dataLijst;
           private List<Klant> overzichtgastenLijst;
  private List<Factuur>factuurLijst;


          private JLabel lblBezetteKamers;
          private JLabel lblWissel;
          private JLabel lblVertrekken;
          private JLabel lblVandaagVerwacht;
          private JLabel lblBinnekortVerwacht;
          private JLabel lblLegeKamers;
          private JPanel GastenOverzicht;
          private JLabel lblGastenOverzicht;
          private JTable tblGastenOverzicht;
          private TableModel jTableoverzichtgastenModel;
          private JButton btnHoofdmenu;
          private JButton btnFactuur;
          DomeinController domeincontroller;


          public OverzichtGasten(DomeinController doco) {
                    kamerLijst = doco.geefkamers();
                    boekingLijst = doco.geefboekingen();
                    klantenLijst = doco.getKlanten();
                    overzichtgastenLijst = doco.geefOverzichtGasten();
                    domeincontroller = doco;

                     initGUI();
                     this.setLocationRelativeTo(null);
                     this.setVisible(true);


                     }

          private void initGUI() {

                     try {
                                setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
                                getContentPane().setLayout(null);
                                pack();
                                this.setSize(800, 488);
                     } catch (Exception e) {
                                e.printStackTrace();
                     }


                     GastenOverzicht = new JPanel();
                     BorderLayout GastenOverzichtLayout = new BorderLayout();
                     GastenOverzicht.setLayout(GastenOverzichtLayout);
                     getContentPane().add(GastenOverzicht);
                     GastenOverzicht.setBounds(0, 0, 850, 400);
                     GastenOverzicht.setVisible(true);
                     {
                               lblGastenOverzicht = new JLabel();
                               GastenOverzicht.add(lblGastenOverzicht, BorderLayout.NORTH);
                               lblGastenOverzicht.setText(domeincontroller.getMessages().getString("overzichtgasten"));
                               lblGastenOverzicht.setPreferredSize(new java.awt.Dimension(100, 69));
                               //lblGastenOverzicht.setText(domeincontroller.getMessages().getString("Overzicht_gasten"));

                     }
                     {
                                tblGastenOverzicht= new JTable();
                                GastenOverzicht.add(tblGastenOverzicht, BorderLayout.CENTER);
                                jTableoverzichtgastenModel =
                                          new DefaultTableModel(

                                                               new String[(klantenLijst.size()+1)][18]


                                                                                     ,
                                                                                     new String[]{ "klantnummer", "aanspreekvorm",
"voornaam","achternaam","land","gemeente","postcode", "straat+nr","taal",


62
                                                                                    "bedrijf","telefoonnr", "mobielnr", "email",
"notities" ,"kamernummer","reservatienummer", "aankomstdatum", "vertrekdatum"});
                               tblGastenOverzicht.setAutoscrolls(true);
                               tblGastenOverzicht.setModel(jTableoverzichtgastenModel);
                               tblGastenOverzicht.setPreferredSize(new java.awt.Dimension(850, 400));
                     }
                     {
                               btnFactuur = new JButton();
                               getContentPane().add(btnFactuur);
                               btnFactuur.setText(domeincontroller.getMessages().getString("maakFactuur"));
                               btnFactuur.setBounds(177, 412, 150, 22);
                               btnFactuur.setVisible(true);
                               btnFactuur.setEnabled(true);
                               btnFactuur.addActionListener(new ActionListener()
                               {
                                         public void actionPerformed(ActionEvent evt)
                                         {
                                                     btnFactuurActionPerformed(evt);
                                         }
                               });
                     }
                     {
                               btnHoofdmenu = new JButton();
                               getContentPane().add(btnHoofdmenu);
                               btnHoofdmenu.setText(domeincontroller.getMessages().getString("home"));
                               btnHoofdmenu.setBounds(455, 412, 150, 22);
                               btnHoofdmenu.addActionListener(new ActionListener()
                               {
                                         public void actionPerformed(ActionEvent evt)
                                         {
                                                     btnHoofdmenuActionPerformed(evt);
                                         }
                               });
                     }
                     {
                                                               }

                                jTableoverzichtgastenModel.setValueAt("klantnummer", 0, 0);
                                jTableoverzichtgastenModel.setValueAt("aanspreekvorm",0, 1);
                                jTableoverzichtgastenModel.setValueAt("voornaam", 0, 2);
                                jTableoverzichtgastenModel.setValueAt("achternaam", 0, 3);
                                jTableoverzichtgastenModel.setValueAt("land", 0, 4);
                                jTableoverzichtgastenModel.setValueAt("gemeente", 0, 5);
                                jTableoverzichtgastenModel.setValueAt("postcode", 0, 6);
                                jTableoverzichtgastenModel.setValueAt("straat+nr", 0, 7);
                                jTableoverzichtgastenModel.setValueAt("taal", 0, 8);
                                jTableoverzichtgastenModel.setValueAt("bedrijf", 0, 9);
                                jTableoverzichtgastenModel.setValueAt("telefoonnr", 0, 10);
                                jTableoverzichtgastenModel.setValueAt("mobielnr", 0, 11);
                                jTableoverzichtgastenModel.setValueAt("email", 0, 12);
                                jTableoverzichtgastenModel.setValueAt("notities", 0, 13);
                                jTableoverzichtgastenModel.setValueAt("kamernummer", 0, 14);
                                jTableoverzichtgastenModel.setValueAt("reservatienummer", 0, 15);
                                jTableoverzichtgastenModel.setValueAt("aankomstdatum", 0, 16);
                                jTableoverzichtgastenModel.setValueAt("vertrekdatum", 0, 17);

                                for(int x=0;x<overzichtgastenLijst.size();x++)
                                {

                                                      int klantNr = overzichtgastenLijst.get(x).getKlantNr();
                                                      String aanspreekvorm = overzichtgastenLijst.get(x).getAanspreekvorm();
                                                      String voornaam= overzichtgastenLijst.get(x).getKlantVoornaam();
                                                      String achternaam= overzichtgastenLijst.get(x).getKlantAchterNaam();
                                                      String land= overzichtgastenLijst.get(x).getKlantLand();
                                                      String gemeente= overzichtgastenLijst.get(x).getKlantGemeente();
                                                      int postcode= overzichtgastenLijst.get(x).getPostcode();
                                                      String straatennr = overzichtgastenLijst.get(x).getStraatEnNr();
                                                      String taal = overzichtgastenLijst.get(x).getKlantTaal();
                                                      String bedrijf= overzichtgastenLijst.get(x).getNaamBedrijfOfOrganisatie();
                                                      int telefoonNr = overzichtgastenLijst.get(x).getTelefoonNr();
                                                      int mobielNr = overzichtgastenLijst.get(x).getMobielNr();
                                                      String email= overzichtgastenLijst.get(x).getEpostAdres();
                                                      String notities = overzichtgastenLijst.get(x).getNotities();
                                                      int kamerNr = overzichtgastenLijst.get(x).getKamerNr();
                                                      int reservatieNr = overzichtgastenLijst.get(x).getBoekingsNr();


63
                                                     String aankomstdatum=
""+DateFormat.getInstance().format(overzichtgastenLijst.get(x).getAankomstdatum().getTime());
                                                     String vertrekdatum=
""+DateFormat.getInstance().format(overzichtgastenLijst.get(x).getVertrekdatum().getTime());


                                                     jTableoverzichtgastenModel.setValueAt(klantNr, x+1, 0);
                                                     jTableoverzichtgastenModel.setValueAt(aanspreekvorm, x+1, 1);
                                                     jTableoverzichtgastenModel.setValueAt(voornaam, x+1, 2);
                                                     jTableoverzichtgastenModel.setValueAt(achternaam, x+1, 3);
                                                     jTableoverzichtgastenModel.setValueAt(land, x+1, 4);
                                                     jTableoverzichtgastenModel.setValueAt(gemeente, x+1, 5);
                                                     jTableoverzichtgastenModel.setValueAt(postcode, x+1, 6);
                                                     jTableoverzichtgastenModel.setValueAt(straatennr, x+1, 7);
                                                     jTableoverzichtgastenModel.setValueAt(taal, x+1, 8);
                                                     jTableoverzichtgastenModel.setValueAt(bedrijf, x+1, 9);
                                                     jTableoverzichtgastenModel.setValueAt(telefoonNr, x+1, 10);
                                                     jTableoverzichtgastenModel.setValueAt(mobielNr, x+1, 11);
                                                     jTableoverzichtgastenModel.setValueAt(email, x+1, 12);
                                                     jTableoverzichtgastenModel.setValueAt(notities, x+1, 13);
                                                     jTableoverzichtgastenModel.setValueAt(kamerNr, x+1, 14);
                                                     jTableoverzichtgastenModel.setValueAt(reservatieNr, x+1, 15);
                                                     jTableoverzichtgastenModel.setValueAt(aankomstdatum, x+1, 16);
                                                     jTableoverzichtgastenModel.setValueAt(vertrekdatum, x+1, 17);

                                }


                                }


          public JTable getTblGastenOverzicht() {
                    return tblGastenOverzicht;
          }

          private void btnFactuurActionPerformed(ActionEvent evt) {


                    int ID ;

                    ID = Integer.parseInt(tblGastenOverzicht.getValueAt(tblGastenOverzicht.getSelectedRow(), 15).toString());

                    factuurLijst = domeincontroller.maakFactuur(ID);
                    Offerte scherm = new Offerte(domeincontroller, factuurLijst);
                    //PrintUtilities.printComponent(off);
                    scherm.setVisible(true);
          }

          private void btnHoofdmenuActionPerformed(ActionEvent evt) {
                      ProgramFrame pf = new ProgramFrame(domeincontroller);
             this.dispose();
             pf.setVisible(true);
          }
}
/**
 *
 * @author Giles Duinslaeger
 * @version 1.0
 */

package gui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.ArrayList;
import java.util.List;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;

import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;



64
import domein.Boeking;
import domein.DomeinController;
import domein.Factuur;
import domein.Kamer;



public class ProgramFrame extends javax.swing.JFrame {

          private JButton btnKlanttoevoegen;
          private JLabel lblLogo;
          private JLabel lblAantalingechklanten;
          private JButton btnFactuur;
          private JButton btnKlantenOverzicht;
          private JButton btnKamerOverzicht;
          private JLabel lblAantalkldievandaagvertr;
          private JLabel lblAantalkldievandaaginch;
          private JButton btnSluiten;
          private JButton btnTaalwijzigen;
          private JButton btnKlantboeken;
          private JButton btnZoeken;
          private JButton btnKlantverwijderen;
          private JButton btnRegistreer;

          private KlantFrame Klanttoevoegen;
          private KlantCheckFrame Klantboeken;
          private OverzichtGasten overzichtGasten;
          KamerOverzicht kamerOverzicht;

          DomeinController domeincontroller;
          private List<Kamer> kamerLijst;
          private List<Boeking> boekingLijst;
          private List<Factuur> factuurLijst;




          public ProgramFrame(DomeinController doco) {
                     super();

                    domeincontroller = doco;
                    kamerLijst = doco.geefkamers();
                    boekingLijst = doco.geefboekingen();

                    initGUI();
                    this.setLocationRelativeTo(null);
                    this.setVisible(true);
                    KlantenDieVandaagToekomen();
                    KlantenDieVandaagVertrekken();
                    KlantenIngecheckt();
          }

          private void initGUI() {
                     try {
                                setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
                                getContentPane().setLayout(null);
                                this.setTitle("Hotel Triolet");
                                this.setIconImage(new ImageIcon(getClass().getClassLoader().getResource("lib/h.bmp")).getImage());
                                {
                                            btnKlanttoevoegen = new JButton();
                                            getContentPane().add(btnKlanttoevoegen);

                                          btnKlanttoevoegen.setText(domeincontroller.getMessages().getString("klantToevoegen"));
                                          btnKlanttoevoegen.setBounds(17, 18, 136, 22);
                                          btnKlanttoevoegen.addActionListener(new ActionListener()
                                          {
                                                    public void actionPerformed(ActionEvent evt)
                                                    {
                                                               btnKlanttoevoegenActionPerformed(evt);
                                                    }
                                          });
                               }
                               {
                                          lblLogo = new JLabel();
                                          getContentPane().add(lblLogo);
                                          lblLogo.setIcon(new ImageIcon(getClass().getClassLoader().getResource("lib/logo.jpg")));

65
         lblLogo.setBounds(207, 18, 229, 153);
     }
     {
         btnKlantverwijderen = new JButton();
         getContentPane().add(btnKlantverwijderen);
         btnKlantverwijderen.setText(domeincontroller.getMessages().getString("klantVerwijderen"));
         btnKlantverwijderen.setBounds(17, 100, 136, 22);
         btnKlantverwijderen.addActionListener(new ActionListener()
         {
                   public void actionPerformed(ActionEvent evt)
                   {
                              btnKlantverwijderenActionPerformed(evt);
                   }
         });
     }
     {
         btnZoeken = new JButton();
         getContentPane().add(btnZoeken);
         btnZoeken.setText(domeincontroller.getMessages().getString("zoeken"));
         btnZoeken.setBounds(17, 139, 136, 22);
         btnZoeken.addActionListener(new ActionListener()
         {
                   public void actionPerformed(ActionEvent evt)
                   {
                              btnZoekenActionPerformed(evt);
                   }
         });
     }

     {
         btnKlantboeken = new JButton();
         getContentPane().add(btnKlantboeken);
         btnKlantboeken.setText(domeincontroller.getMessages().getString("klantBoeken"));
         btnKlantboeken.setBounds(17, 59, 136, 22);
         btnKlantboeken.addActionListener(new ActionListener()
         {
                   public void actionPerformed(ActionEvent evt)
                   {
                              btnKlantboekenActionPerformed(evt);
                   }
         });
     }
     {
         btnTaalwijzigen = new JButton();
         getContentPane().add(btnTaalwijzigen);
         btnTaalwijzigen.setText(domeincontroller.getMessages().getString("taalWijzigen"));
         btnTaalwijzigen.setBounds(477, 100, 136, 22);
         btnTaalwijzigen.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent evt) {
                              btnTaalwijzigenActionPerformed(evt);
                   }
         });
     }
     {
         btnSluiten = new JButton();
         getContentPane().add(btnSluiten);
         btnSluiten.setText(domeincontroller.getMessages().getString("sluiten"));
         btnSluiten.setBounds(253, 225, 136, 22);
         btnSluiten.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent evt)
                    {
                               btnSluitenActionPerformed(evt);
                    }
         });
     }
     {
         btnRegistreer = new JButton();
         getContentPane().add(btnRegistreer);
         btnRegistreer.setText(domeincontroller.getMessages().getString("registreer"));
         btnRegistreer.setBounds(477, 139, 136, 22);
         btnRegistreer.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent evt) {
                               btnRegistreerActionPerformed(evt);
                    }
         });
     }

66
                          {
                                     lblAantalingechklanten = new JLabel();
                                     getContentPane().add(lblAantalingechklanten);

     lblAantalingechklanten.setText(domeincontroller.getMessages().getString("aantalIngechecked"));
                                     lblAantalingechklanten.setBounds(207, 278, 249, 16);
                          }
                          {
                                     lblAantalkldievandaaginch = new JLabel();
                                     getContentPane().add(lblAantalkldievandaaginch);

     lblAantalkldievandaaginch.setText(domeincontroller.getMessages().getString("aantalInVandaag"));
                                    lblAantalkldievandaaginch.setBounds(207, 306, 249, 16);
                          }
                          {
                                    lblAantalkldievandaagvertr = new JLabel();
                                    getContentPane().add(lblAantalkldievandaagvertr);

     lblAantalkldievandaagvertr.setText(domeincontroller.getMessages().getString("aantalVertrekVandaag"));
                                      lblAantalkldievandaagvertr.setBounds(207, 334, 249, 16);
                          }
                          {
                                      btnKamerOverzicht = new JButton();
                                      getContentPane().add(btnKamerOverzicht);
                                      btnKamerOverzicht.setText(domeincontroller.getMessages().getString("kamerOverzicht"));
                                      btnKamerOverzicht.setBounds(477, 18, 135, 22);
                                      btnKamerOverzicht.addActionListener(new ActionListener()
                                      {
                                                 public void actionPerformed(ActionEvent evt)
                                                 {
                                                            btnKamerOverzichtActionPerformed(evt);
                                                 }
                                      });
                          }
                          {
                                      btnKlantenOverzicht = new JButton();
                                      getContentPane().add(btnKlantenOverzicht);
                                      btnKlantenOverzicht.setText(domeincontroller.getMessages().getString("klantenOverzicht"));
                                      btnKlantenOverzicht.setBounds(477, 59, 135, 22);
                                      btnKlantenOverzicht.addActionListener(new ActionListener()
                                      {
                                                 public void actionPerformed(ActionEvent evt)
                                                 {
                                                            btnKlantenOverzichtActionPerformed(evt);
                                                 }
                                      });
                          }
                          {
                                      btnFactuur = new JButton();
                                      getContentPane().add(btnFactuur);
                                      btnFactuur.setText(domeincontroller.getMessages().getString("maakFactuur"));
                                      btnFactuur.setBounds(253, 192, 136, 22);
                                      btnFactuur.addActionListener(new ActionListener()
                                      {
                                                 public void actionPerformed(ActionEvent evt)
                                                 {
                                                            btnFactuurActionPerformed(evt);
                                                 }
                                      });
                          }
                          pack();
                          this.setSize(653, 407);
                }
                catch (Exception e) {
                          e.printStackTrace();
                          }
     }


               private void btnKlanttoevoegenActionPerformed(ActionEvent evt)
               {


                          this.setVisible(false);

                          KlanttoevoegenWeergeven();

67
               }
               private void btnKlantboekenActionPerformed(ActionEvent evt)
               {


                         this.setVisible(false);
                         KlantCheckFrame Klantboeken = new KlantCheckFrame(domeincontroller);
                         Klantboeken.setVisible(true);
                         Klantboeken.setEnabled(true);
                         Klantboeken.getcmbKlanten();
                         Klantboeken.getcmbCatering();
               }

               public void btnRegistreerActionPerformed(ActionEvent evt)
               {
                          Registreer registreer = new Registreer(domeincontroller);
                          registreer.setVisible(true);
                          this.dispose();
               }
               public void hoofdschermWeergeven()
               {
                          this.setEnabled(true);
                          this.setVisible(true);
               }

               private void KlanttoevoegenWeergeven()
               {

                         Klanttoevoegen = new KlantFrame();
                         Klanttoevoegen.setVisible(true);
                         Klanttoevoegen.setEnabled(true);
               }



               private void btnSluitenActionPerformed(ActionEvent evt)
               {
                          this.setEnabled(false);
                          this.setVisible(false);
               }

               private void btnTaalwijzigenActionPerformed(ActionEvent evt)
               {
                          TaalFrame taalframe = new TaalFrame(domeincontroller);
                          this.dispose();
                          taalframe.setVisible(true);
               }
               private void btnZoekenActionPerformed(ActionEvent evt)
               {
                          KlantZoeken zoeken = new KlantZoeken(domeincontroller);
                          this.dispose();
                          zoeken.setVisible(true);
               }
               private void btnKlantverwijderenActionPerformed(ActionEvent evt)
               {
                          KlantVerwijderen verwijder = new KlantVerwijderen(domeincontroller);
                          this.dispose();
                          verwijder.setVisible(true);
               }

               private void btnKamerOverzichtActionPerformed(ActionEvent evt)
               {
                          KamerOverzicht kameroverzicht = new KamerOverzicht(domeincontroller);
                          this.dispose();
                          kameroverzicht.setVisible(true);
                          kameroverzicht.getKamerStatus();
               }
               private void btnKlantenOverzichtActionPerformed(ActionEvent evt)
               {
                          overzichtGasten = new OverzichtGasten(domeincontroller);
                          this.dispose();
                          overzichtGasten.setVisible(true);

               }

     private void btnFactuurActionPerformed(ActionEvent evt) {

68
                   OverzichtGasten klantenoverzicht = new OverzichtGasten(domeincontroller);
                   klantenoverzicht.setVisible(true);
                   this.dispose();
                            int ID = 0;
                            try {
                            ID = overzichtGasten.getTblGastenOverzicht().getSelectedRow();
                            ID = ID-1;
                            }
                            catch (Exception e) { return; }

                           factuurLijst = domeincontroller.maakFactuur(ID);
                           Offerte scherm = new Offerte(domeincontroller, factuurLijst);
                           scherm.setVisible(true);
               }

     private void KlantenDieVandaagToekomen()
     {
                kamerOverzicht = new KamerOverzicht(domeincontroller);
                kamerOverzicht.setVisible(false);
                kamerOverzicht.KamerStatus();
                kamerOverzicht.dispose();
                kamerOverzicht = null;
                List<Kamer> vandaagtoekomen = new ArrayList<Kamer>();

               for(Kamer kamer : kamerLijst)
               {
                         if(kamer.getToestand().equals("gastenvandaagverwacht"))
                         {

                             vandaagtoekomen.add(kamer);


                   }

     }
               if (lblAantalkldievandaaginch != null)
               lblAantalkldievandaaginch.setText(lblAantalkldievandaaginch.getText() + vandaagtoekomen.size());
}
     private void KlantenDieVandaagVertrekken()
     {
                kamerOverzicht = new KamerOverzicht(domeincontroller);
                kamerOverzicht.setVisible(false);
                kamerOverzicht.KamerStatus();
                kamerOverzicht.dispose();
                kamerOverzicht = null;
                List<Kamer> vandaagvertrekken = new ArrayList<Kamer>();

               for(Kamer kamer : kamerLijst)
               {
                         if(kamer.getToestand().equals("gastenvertrekken") || kamer.getToestand().equals("gastenwissel"))
                         {

                             vandaagvertrekken.add(kamer);


                   }

     }
               if (lblAantalkldievandaagvertr != null)
               lblAantalkldievandaagvertr.setText(lblAantalkldievandaagvertr.getText() + vandaagvertrekken.size());
}
     private void KlantenIngecheckt()
     {
                kamerOverzicht = new KamerOverzicht(domeincontroller);
                kamerOverzicht.setVisible(false);
                kamerOverzicht.KamerStatus();
                kamerOverzicht.dispose();
                kamerOverzicht = null;
                List<Kamer> ingecheckt = new ArrayList<Kamer>();

               for(Kamer kamer : kamerLijst)
               {
                         if(kamer.getToestand().equals("bezet"))
                         {


69
                                  ingecheckt.add(kamer);


                       }

          }
                     if (lblAantalingechklanten != null)
                     lblAantalingechklanten.setText(lblAantalingechklanten.getText() + ingecheckt.size());
}

}


/**
 *
 * @author Sam Perdu
 * @version 1.0
 */

package gui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ResourceBundle;

import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;

import domein.DomeinController;
import domein.ResourceBundles;


public class Registreer extends javax.swing.JFrame {
           private JLabel lblGebruikersnaam;
           private JLabel lblWachtwoordherh;
           private JTextField txtWachtwoord;
           private JTextField txtWachtwoordherh;
           private JButton btnOk;
           private JTextField txtAchternaam;
           private JTextField txtVoornaam;
           private JTextField txtGebruikersnaam;
           private JLabel lblTaal;
           private JComboBox taal;
           private JLabel lblAchternaam;
           private JLabel lblVoornaam;
           private JLabel lblWachtwoord;


          DomeinController domeincontroller = new DomeinController ();
          private JButton btnAnnuleren;

          public Registreer(DomeinController doco) {
                    super();

                     this.setLocationRelativeTo(null);
                     this.setVisible(true);
                     domeincontroller = doco;
                     initGUI();

          }
          private void initGUI() {
                     try {
                                setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
                                getContentPane().setLayout(null);
                                this.setTitle("Hotel Triolet");
                                this.setIconImage(new ImageIcon(getClass().getClassLoader().getResource("lib/h.bmp")).getImage());
                                {


70
         lblGebruikersnaam = new JLabel();
         getContentPane().add(lblGebruikersnaam);
         lblGebruikersnaam.setText(domeincontroller.getMessages().getString("gebruikersnaam"));
         lblGebruikersnaam.setBounds(35, 36, 126, 16);
     }
     {
         lblWachtwoord = new JLabel();
         getContentPane().add(lblWachtwoord);
         lblWachtwoord.setText(domeincontroller.getMessages().getString("wachtwoord"));
         lblWachtwoord.setBounds(35, 67, 103, 16);
     }
     {
         lblWachtwoordherh = new JLabel();
         getContentPane().add(lblWachtwoordherh);
         lblWachtwoordherh.setText(domeincontroller.getMessages().getString("wachtwherh"));
         lblWachtwoordherh.setBounds(35, 99, 155, 16);
     }
     {
         lblVoornaam = new JLabel();
         getContentPane().add(lblVoornaam);
         lblVoornaam.setText(domeincontroller.getMessages().getString("voornaam"));
         lblVoornaam.setBounds(35, 131, 90, 16);
     }
     {
         lblAchternaam = new JLabel();
         getContentPane().add(lblAchternaam);
         lblAchternaam.setText(domeincontroller.getMessages().getString("naam"));
         lblAchternaam.setBounds(35, 163, 100, 16);
     }
     {
         ComboBoxModel taalModel =
                    new DefaultComboBoxModel(
                                         new String[] { "Nederlands", "Frans", "Engels" });
         taal = new JComboBox();
         getContentPane().add(taal);
         taal.setModel(taalModel);
         taal.setBounds(190, 192, 109, 22);
     }
     {
         lblTaal = new JLabel();
         getContentPane().add(lblTaal);
         lblTaal.setText(domeincontroller.getMessages().getString("taal"));
         lblTaal.setBounds(35, 195, 62, 16);
     }
     {
         txtGebruikersnaam = new JTextField();
         getContentPane().add(txtGebruikersnaam);
         txtGebruikersnaam.setBounds(190, 33, 109, 22);
     }
     {
         txtWachtwoord = new JTextField();
         getContentPane().add(txtWachtwoord);
         txtWachtwoord.setBounds(190, 64, 109, 22);
     }
     {
         txtWachtwoordherh = new JTextField();
         getContentPane().add(txtWachtwoordherh);
         txtWachtwoordherh.setBounds(190, 96, 109, 22);
     }
     {
         txtVoornaam = new JTextField();
         getContentPane().add(txtVoornaam);
         txtVoornaam.setBounds(190, 128, 109, 22);
     }
     {
         txtAchternaam = new JTextField();
         getContentPane().add(txtAchternaam);
         txtAchternaam.setBounds(190, 160, 109, 22);
     }
     {
         btnOk = new JButton();
         getContentPane().add(btnOk);
         btnOk.setText("OK");
         btnOk.setBounds(194, 248, 105, 22);
         btnOk.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent evt)

71
              {
                                                                btnOkActionPerformed(evt);
                                                      }
                                           });
                                }
                                {
                                           btnAnnuleren = new JButton();
                                           getContentPane().add(btnAnnuleren);
                                           btnAnnuleren.setText(domeincontroller.getMessages().getString("annuleren"));
                                           btnAnnuleren.setBounds(63, 249, 105, 21);
                                           btnAnnuleren.addActionListener(new ActionListener() {
                                                     public void actionPerformed(ActionEvent evt) {
                                                                btnAnnulerenActionPerformed(evt);
                                                     }
                                           });
                                }
                                pack();
                                this.setSize(400, 318);
                     } catch (Exception e) {
                                e.printStackTrace();
                     }
          }
          private void btnAnnulerenActionPerformed(ActionEvent evt)
          {
                     ProgramFrame annuleer = new ProgramFrame(domeincontroller);
                     this.dispose();
                     annuleer.setVisible(true);
          }
          private void btnOkActionPerformed(ActionEvent evt)
          {
                     String gebruikersnaam = txtGebruikersnaam.getText();
                     String wachtwoord = txtWachtwoord.getText();
                     String wachtwoordherh = txtWachtwoordherh.getText();
                     String voornaam = txtVoornaam.getText();
                     String achternaam = txtAchternaam.getText();
                     int Taal = taal.getSelectedIndex();

                     boolean controleerwachtwoord = vergelijk(wachtwoord, wachtwoordherh);

                    if(controleerwachtwoord == false)
                    {
                                JOptionPane.showMessageDialog(null, "Wachtwoorden komen niet overeen !");
                    }
                    else
                    {
                                if(txtGebruikersnaam.getText().length() == 0 | txtVoornaam.getText().length() == 0 |
txtAchternaam.getText().length() == 0)
                                {
                                           JOptionPane.showMessageDialog(null, "Alle velden zijn niet ingevuld !");
                                }
                                else
                                {

                                           domeincontroller.registreer(gebruikersnaam, wachtwoord, voornaam, achternaam, Taal);
                                           LoginFrame reg = new LoginFrame(domeincontroller);
                                           reg.setVisible(true);
                                           this.dispose();
                                }
                     }

          }

          private boolean vergelijk(String ww, String wwh)
          {

                     if(ww.equals(wwh))
                     {
                               return true;
                     }
                     else
                     {
                               return false;
                     }

          }


72
}
/**
 *
 * @author Stefan Eeckhoudt
 * @version 1.0
 */

package gui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;

import javax.swing.JButton;
import javax.swing.JLabel;

import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;

import domein.DomeinController;
import domein.ResourceBundles;


public class TaalFrame extends javax.swing.JFrame {

        private JLabel jLabel1;
        private JButton btnNederlands;
        private JLabel lblBelgie;
        private JButton btnEnglish;
        private JButton btnFrançais;
 DomeinController domeincontroller;

          public TaalFrame(DomeinController doco)
          {

                     super();
                     domeincontroller = doco;
                     initGUI();
          }

          private void initGUI() {
                     try {
                                setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
                                getContentPane().setLayout(null);
                                this.setIconImage(new ImageIcon(getClass().getClassLoader().getResource("lib/h.bmp")).getImage());
                                this.setTitle("Hotel Triolet");
                                {

                                         jLabel1 = new JLabel();
                                         getContentPane().add(jLabel1);
                                         jLabel1.setIcon(new ImageIcon(getClass().getClassLoader().getResource("lib/logo.jpg")));
                                         jLabel1.setBounds(93, 7, 229, 156);
                                }
                                {
                                         btnNederlands = new JButton();
                                         getContentPane().add(btnNederlands);
                                         btnNederlands.setText("Nederlands");
                                         btnNederlands.setBounds(12, 210, 110, 26);
                                         btnNederlands.addActionListener(new ActionListener() {
                                                   public void actionPerformed(ActionEvent evt) {
                                                              btntalenActionPerformed(3);
                                                   }
                                         });

                                }

                                {
                                         btnFrançais = new JButton();
                                         getContentPane().add(btnFrançais);
                                         btnFrançais.setText("Français");
                                         btnFrançais.setBounds(154, 210, 110, 26);
                                         btnFrançais.addActionListener(new ActionListener() {
                                                   public void actionPerformed(ActionEvent evt) {
                                                              btntalenActionPerformed(2);
                                                   }
                                         }


73
                                              );
                                   }

                                   {
                                              btnEnglish = new JButton();
                                              getContentPane().add(btnEnglish);
                                              btnEnglish.setText("English");
                                              btnEnglish.setBounds(303, 210, 110, 26);
                                              btnEnglish.addActionListener(new ActionListener() {
                                                        public void actionPerformed(ActionEvent evt) {
                                                                   btntalenActionPerformed(1);
                                                        }


                                              });

                                   pack();
                                   this.setSize(433, 300);
                                   }} catch (Exception e) {

                                   e.printStackTrace();
                                   }
                        }
                                   private void btntalenActionPerformed(int index) {
                                              ResourceBundles resb = new ResourceBundles(index, domeincontroller);
                                              ProgramFrame programframe = new ProgramFrame(domeincontroller);
                                              programframe.setLocationRelativeTo(null);
                                              programframe.setVisible(true);
                                              programframe.setLocationRelativeTo(null);
                                              this.dispose();
                                   }


                        }

PERSISTENTIE

/**
 *
 * @author Stefan Eeckhoudt
 * @version 1.0
 */

package persistentie;

import java.sql.*;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.List;
import domein.*;
import java.text.DateFormat;

import java.awt.*;

public class BoekingMapper {

           GregorianCalendar creditnotadatum = new GregorianCalendar();
           GregorianCalendar factuurdatum = new GregorianCalendar();
           GregorianCalendar reservatiedatum = new GregorianCalendar();
           GregorianCalendar aankomstdatum = new GregorianCalendar();
           GregorianCalendar vertrekdatum = new GregorianCalendar();

           private final static String LEES_RESERVATIE_SQL = "SELECT * FROM Boeking";

           public List<Boeking> geefboekingen() {
                      List<Boeking> boekingLijst = new ArrayList<Boeking>();



                        Connection connection = Connectie.getInstance().getConnection();



                        // create Statement for querying database


74
                     Statement statement;

                     try {
                                statement = connection.createStatement();

                                // query database
                                ResultSet resultSet = statement.executeQuery(LEES_RESERVATIE_SQL);

                                while (resultSet.next()) {


                                            GregorianCalendar creditnotadatum = new GregorianCalendar();
                                            GregorianCalendar factuurdatum = new GregorianCalendar();
                                            GregorianCalendar boekingsdatum = new GregorianCalendar();
                                            GregorianCalendar aankomstdatum = new GregorianCalendar();
                                            GregorianCalendar vertrekdatum = new GregorianCalendar();



                                         int boekingsNr = resultSet.getInt("boekingsNr");
                                         int klantNr = resultSet.getInt("klantNr");
                                         int catNr = resultSet.getInt("catNr");
                                         int kamerNr = resultSet.getInt("kamerNr");
                                         int dataNr = resultSet.getInt("dataNr");
                                         int factNr = resultSet.getInt("factuurNr");
                                         factuurdatum.setTime(resultSet.getDate("factuurDatum"));
                                         int personen = resultSet.getInt("personen");
                                         boekingsdatum.setTime(resultSet.getDate("boekingsdatum"));
                                         vertrekdatum.setTime(resultSet.getDate("vertrekdatum"));
          aankomstdatum.setTime(resultSet.getDate("aankomstdatum"));
                                         int creditnotaNr = resultSet.getInt("creditnotaNr");




                                            Boeking boeking = new Boeking(boekingsNr, klantNr, catNr, kamerNr,dataNr, factNr,
factuurdatum, personen,
                                             boekingsdatum, vertrekdatum,aankomstdatum, creditnotaNr, creditnotadatum);
                                            boekingLijst.add(boeking);

                                           }
                                statement.close();

                                return boekingLijst;

                     } catch (SQLException e) {
                                 e.printStackTrace();
                     } catch (NullPointerException e) {}
                     return null;
          }


public void voegboekingtoe(int klantNr,int catNr, int kamerNr,int dataNr,int factNr,GregorianCalendar factuurdatum, int personen,
GregorianCalendar boekingsdatum,GregorianCalendar vertrekdatum,GregorianCalendar aankomstdatum)

          {
                     java.util.Date datFactuurdatum = factuurdatum.getTime();
                     java.util.Date datBoekingsdatum = boekingsdatum.getTime();
                     java.util.Date datVertrekdatum = vertrekdatum.getTime();
                     java.util.Date datAankomstdatum = aankomstdatum.getTime();

                     java.sql.Date sqlFactuurdatum = new java.sql.Date(datFactuurdatum.getTime());
                     java.sql.Date sqlBoekingsdatum = new java.sql.Date(datBoekingsdatum.getTime());
                     java.sql.Date sqlVertrekdatum = new java.sql.Date(datVertrekdatum.getTime());
                     java.sql.Date sqlAankomstdatum = new java.sql.Date(datAankomstdatum.getTime());

                      String sqlVoegBoekingToe ="INSERT INTO Boeking ( klantNr, catNr, kamerNr, dataNr, factuurNr, factuurDatum,
personen, boekingsdatum, vertrekdatum, aankomstdatum) VALUES
('"+klantNr+"','"+catNr+"','"+kamerNr+"','"+dataNr+"','"+factNr+"','"+sqlFactuurdatum+"','"+personen+"','"+sqlBoekingsdatum+"','"+sqlVer
trekdatum+"','"+sqlAankomstdatum+"')";

                     Connection connection = Connectie.getInstance().getConnection();

                     // create Statement for querying database
                     Statement statement;

75
                        try {
                                   statement = connection.createStatement();

                                   // query database
                                   statement.executeUpdate(sqlVoegBoekingToe);

                                   statement.close();
                        } catch (SQLException e) {
                                   e.printStackTrace();
                        }
           }

}
/**
 *
 * @author Giles Duinslaeger
 * @version 1.0
 */

package persistentie;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import domein.*;

public class CateringMapper {

           private final static String LEES_CATERING_SQL = "SELECT * FROM Catering";


           public List<Catering> getCatering() {

                        List<Catering> cateringLijst = new ArrayList<Catering>();

                        Connection connection = Connectie.getInstance().getConnection();

                        // create Statement for querying database
                        Statement statement;

                        try {
                                   statement = connection.createStatement();

                                   // query database
                                   ResultSet resultSet = statement.executeQuery(LEES_CATERING_SQL);


                                   while (resultSet.next()) {


                                              int catNr = resultSet.getInt("catNr");
                                              int prijs = resultSet.getInt("prijs");
                                              String omschrijving = resultSet.getString("omschrijving");

                                              Catering catering = new Catering(catNr, prijs, omschrijving);
                                              cateringLijst.add(catering);
                                   }
                                   statement.close();
                                   return cateringLijst;

                        } catch (SQLException e) {
                                    e.printStackTrace();
                        }
                        return null;
           }

}
/**
 *
 * @author Sam Perdu
 * @version 1.0
 */

package persistentie;


76
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import javax.swing.JOptionPane;

public class Connectie
{

            // JDBC driver name and database URL
            private static final String JDBC_DRIVER = "sun.jdbc.odbc.JdbcOdbcDriver";

            private static final String DATABASE_URL = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=project";
            //OF
            //private static final String DATABASE_URL = "jdbc:odbc:MS Access-database;DBQ=books";

            // declare Connection for accessing and querying database
            private Connection connection;


          /**
           * @directed true
           */

          private static Connectie connectie;

            public static Connectie getInstance()
            {
                                 if (connectie == null)
                                            connectie = new Connectie();
                                 return connectie;
            }

            // constructor connects to database
            Connectie()
            {
               // connect to database books
               try
               {
                  // load database driver class
                                    Class.forName( JDBC_DRIVER );

                    // establish connection to database
                    connection = DriverManager.getConnection( DATABASE_URL );


                }
                catch ( SQLException sqlException )
                {
                         JOptionPane.showMessageDialog( null, sqlException.getMessage(),
                               "Database Error", JOptionPane.ERROR_MESSAGE );

                              System.exit( 1 );
                }
                // detect problems loading database driver
                catch ( ClassNotFoundException classNotFound )
                {
                   JOptionPane.showMessageDialog( null, classNotFound.getMessage(),
                    "Driver Not Found", JOptionPane.ERROR_MESSAGE );

                    System.exit( 1 );
                }
            }

            public Connection getConnection()
            {
                      return connection;
            }

            public void closeConnection()
            {
               try
               {
                 connection.close();
                 connectie = null;

77
                }

                // handle exceptions closing statement and connection
                catch ( SQLException sqlException )
                {
                 JOptionPane.showMessageDialog( null,
                   sqlException.getMessage(), "Database Error",
                   JOptionPane.ERROR_MESSAGE );

                System.exit( 1 );
                     }
             }
}
/**
 *
 * @author Giles Duinslaeger
 * @version 1.0
 */

package persistentie;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.List;
import javax.swing.JOptionPane;
import domein.*;

public class DataMapper
{
           private final static String LEES_DATA_SQL = "SELECT dataNr,van,tot FROM Data";

           public List<Data> geefData() {
                      List<Data> dataLijst = new ArrayList<Data>();

                        Connection connection = Connectie.getInstance().getConnection();

                        // create Statement for querying database
                        Statement statement;

                        try {
                                   statement = connection.createStatement();

                                   // query database
                                   ResultSet resultSet = statement.executeQuery(LEES_DATA_SQL);

                                   while (resultSet.next()) {

                                              GregorianCalendar van = new GregorianCalendar();
                                              GregorianCalendar tot = new GregorianCalendar();
                                              int dataNr = resultSet.getInt("dataNr");

                                               van.setTime(resultSet.getDate("van"));
                                               tot.setTime(resultSet.getDate("tot"));

                                              Data data = new Data(dataNr, van, tot);
                                              dataLijst.add(data);
                                    }
                                    statement.close();
                                    return dataLijst;
                        } catch (SQLException e) {
                                    e.printStackTrace();
                        }
                        return null;
           }

}
/**
 *
 * @author Stefan Eeckhoudt
 * @version 1.0


78
*/

package persistentie;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.List;
import javax.swing.JOptionPane;
import domein.*;

public class FactuurMapper {
           private final static String LEES_FACTUUR_SQL = "SELECT * FROM Factuur";

           public List<Factuur> maakFactuur(int ID) {
                      List<Factuur> factuurLijst = new ArrayList<Factuur>();

                        String LEES_FACTUUUR_SQL = "SELECT Catering.*, Kamer.*, Boeking.*, Klant.* FROM Klant INNER JOIN " +
                                         "(Kamer INNER JOIN (Catering INNER JOIN Boeking ON Catering.catNr = Boeking.catNr) "
+
                                              "ON Kamer.kamerNr = Boeking.kamerNr) " +
                                              "ON Klant.klantnummer = Boeking.klantNr WHERE Boeking.boekingsNr = "+ID;



                        Connection connection = Connectie.getInstance().getConnection();



                        // create Statement for querying database
                        Statement statement;

                        try {
                                   statement = connection.createStatement();

                                   // query database
                                   ResultSet resultSet = statement.executeQuery(LEES_FACTUUUR_SQL);

                                   while (resultSet.next()) {


                                              GregorianCalendar factuurDatum = new GregorianCalendar();

                                              String klantvoornaam = resultSet.getString("klantvoornaam");
                                              String klantachternaam = resultSet.getString("klantachternaam");
                                              int klantNr = resultSet.getInt("klantNr");
                                              int klantpostcode = resultSet.getInt("klantpostcode");
                                              String klantstrnr = resultSet.getString("klantstrnr");
                                              String klantgemeente = resultSet.getString("klantgemeente");
                                              String klantland = resultSet.getString("klantland");
                                              String bedrijf = resultSet.getString("naambedrijforganisatie");
                                              int factuurNr = resultSet.getInt("factuurNr");

                                              factuurDatum.setTime(resultSet.getDate("factuurDatum"));
                                              int personen = resultSet.getInt("personen");
                                              int catNr = resultSet.getInt("catNr");
                                              int kamerNr = resultSet.getInt("kamerNr");
                                              int kamertype = resultSet.getInt("typeNr");
                                              int dataNr = resultSet.getInt("dataNr");
                                              int zeezicht = resultSet.getInt("zeezicht");
                                              int annulatieverzekering = resultSet.getInt("annulatieverzekering");



                                               // setGregorianChange was settime

                                              Factuur factuur = new Factuur(klantvoornaam, klantachternaam, klantNr, klantpostcode,
klantstrnr, klantgemeente,
                                                                 klantland, bedrijf, factuurNr, factuurDatum, personen, catNr, kamerNr,
kamertype, dataNr, zeezicht, annulatieverzekering);
                                           factuurLijst.add(factuur);


79
                                              }
                                   statement.close();


                                   return factuurLijst;

                        } catch (SQLException e) {
                                    e.printStackTrace();
                        }
                        return null;
           }

}

/**
 *
 * @author Sam Perdu
 * @version 1.0
 */

package persistentie;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import domein.*;

public class KamerMapper {

           private final static String LEES_KAMER_SQL = "SELECT * FROM Kamer";

           public List<Kamer> geefKamers() {

                        List<Kamer> kamerlijst = new ArrayList<Kamer>();



                        Connection connection = Connectie.getInstance().getConnection();

                        // create Statement for querying database
                        Statement statement;

                        try {
                                   statement = connection.createStatement();

                                   // query database
                                   ResultSet resultSet = statement.executeQuery(LEES_KAMER_SQL);

                                   while (resultSet.next()) {

                                              int kamerNr = resultSet.getInt("kamerNr");
                                              int typeNr = resultSet.getInt("typeNr");
                                              String omschrijving = resultSet.getString("omschrijving");
                                              int zeezicht = resultSet.getInt("zeezicht");
                                              Kamer kamer = new Kamer(kamerNr, typeNr, zeezicht);
                                              kamerlijst.add(kamer);
                                    }
                                    statement.close();
                                    return kamerlijst;
                        } catch (SQLException e) {
                                    e.printStackTrace();
                        }
                        return null;
           }

}
/**
 *
 * @author Giles Duinslaeger
 * @version 1.0
 */

package persistentie;

import java.sql.Connection;


80
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import domein.*;

public class KamerTypeMapper {
           private final static String LEES_KAMERTYPE_SQL = "SELECT * FROM KamerType";

           public List<Kamertype> getKamerTypes() {
                      List<Kamertype> kamertypeLijst = new ArrayList<Kamertype>();

                        Connection connection = Connectie.getInstance().getConnection();

                        // create Statement for querying database
                        Statement statement;

                        try {
                                   statement = connection.createStatement();

                                   // query database
                                   ResultSet resultSet = statement.executeQuery(LEES_KAMERTYPE_SQL);

                                   while (resultSet.next()) {

                                              int typeNr = resultSet.getInt("typeNr");
                                              String typeomschrijving = resultSet.getString("omschrijving");
                                              int personen = resultSet.getInt("personen");
                                              Kamertype kamertype = new Kamertype(typeNr, typeomschrijving, personen);
                                              kamertypeLijst.add(kamertype);
                                    }
                                    statement.close();
                                    return kamertypeLijst;
                        } catch (SQLException e) {
                                    e.printStackTrace();
                        }
                        return null;
           }

}

/**
 *
 * @author Stefan Eeckhoudt
 * @version 1.0
 */

package persistentie;

import java.sql.ResultSet;
import java.sql.Statement;
import domein.Klant;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.List;
import java.sql.Connection;

public class KlantenMapper {

           private final static String LEES_KLANTEN_SQL = "SELECT * FROM Klant";

           public List<Klant> geefKlanten() {

                        List<Klant> klantenLijst = new ArrayList<Klant>();

                        Connection connection = Connectie.getInstance().getConnection();

                        // create Statement for querying database
                        Statement statement;
                        try {
                                    statement = connection.createStatement();


81
                                 // query database
                                 ResultSet resultSet = statement.executeQuery(LEES_KLANTEN_SQL);

                                 while (resultSet.next()) {

                                            int klantNr = resultSet.getInt("klantnummer");
                                            String aanspreekvorm = resultSet.getString("aanspreekvorm");
                                            String klantVoornaam = resultSet.getString("klantvoornaam");
                                            String klantAchternaam = resultSet.getString("klantachternaam");
                                            String klantLand = resultSet.getString("klantland");
                                            String klantGemeente= resultSet.getString("klantgemeente");
                                            int postcode = resultSet.getInt("klantpostcode");
                                            String straatEnNr = resultSet.getString("klantstrnr");
                                            String klantTaal = resultSet.getString("klanttaal");
                                            String naamBedrijfOfOrganisatie = resultSet.getString("naambedrijforganisatie");
                                            int telefoonNr = resultSet.getInt("telefoonnr");
                                            int faxNr = resultSet.getInt("faxnr");
                                            int mobielNr = resultSet.getInt("mobielnr");
                                            String epostAdres = resultSet.getString("epostadres");
                                            int rekeningnr = resultSet.getInt("rekeningnr");
                                            int IBANOfBICCode = resultSet.getInt("IBANBICcode");
                                            int taalcode = resultSet.getInt("ISO639taalcode");
                                            String notities = resultSet.getString("notities");


                                           Klant klant = new Klant(klantNr, aanspreekvorm, klantVoornaam, klantAchternaam, klantLand,
klantGemeente, postcode, straatEnNr, klantTaal, naamBedrijfOfOrganisatie, telefoonNr, faxNr, mobielNr, epostAdres, rekeningnr,
IBANOfBICCode, taalcode, notities);
                                           klantenLijst.add(klant);
                                }
                                statement.close();
                                return klantenLijst;
                    } catch (SQLException e) {
                                e.printStackTrace();
                    }
                    return null;
         }

           public void klanttoevoegen(int aanspreekvorm, String klantVoornaam, String klantAchternaam, String klantLand, String
klantGemeente, int postcode, String straatEnNr, int klantTaal, String naamBedrijfOfOrganisatie, int telefoonNr, int mobielNr, int faxNr,
String epostAdres, int rekeningnr, int IBANOfBICCode, int taalcode, String notities)
           {
                      String UL = ""+klantTaal;

                      String sqlChangeLang ="INSERT INTO Klant (aanspreekvorm, klantvoornaam, klantachternaam, klantland,
klantgemeente, klantpostcode, klantstrnr, klanttaal, naambedrijforganisatie, telefoonnr, faxnr, mobielnr, epostadres, rekeningnr,
IBANBICcode,ISO639taalcode,notities) VALUES ('"+aanspreekvorm+"',
'"+klantVoornaam+"','"+klantAchternaam+"','"+klantLand+"','"+klantGemeente+"',
'"+postcode+"','"+straatEnNr+"','"+UL+"','"+naamBedrijfOfOrganisatie+"','"+telefoonNr+"','"+mobielNr+"',
'"+faxNr+"','"+epostAdres+"','"+rekeningnr+"','"+IBANOfBICCode+"','"+taalcode+"','"+notities+"' ) ";

                      Connection connection = Connectie.getInstance().getConnection();

                      // create Statement for querying database
                      Statement statement;

                      try {
                                 statement = connection.createStatement();

                                 // query database
                                 statement.executeUpdate(sqlChangeLang);

                                 statement.close();
                      } catch (SQLException e) {
                                 e.printStackTrace();
                      }


           }



           public void klantverwijderen(int klantId)
           {
                      String VERWIJDER_KLANT_SQL = "DELETE FROM Klant WHERE klantnummer = "+klantId+";";

82
                     Connection connection = Connectie.getInstance().getConnection();

                     Statement statement;

                     try {
                                statement = connection.createStatement();

                                // query database
                                statement.executeUpdate(VERWIJDER_KLANT_SQL);

                                statement.close();



                     } catch (SQLException e) {
                                e.printStackTrace();
                     }

          }



public List<Klant> geefOverzichtGasten() {


          List<Klant> overzichtgastenLijst= new ArrayList<Klant>();

       String LEES_overzichtgasten = "SELECT * FROM Klant INNER JOIN Boeking ON Klant.klantnummer=Boeking.klantNr
WHERE now() BETWEEN Boeking.aankomstdatum AND Boeking.vertrekdatum;";

          Connection connection = Connectie.getInstance().getConnection();

          // create Statement for querying database
          Statement statement;

          try {
                     statement = connection.createStatement();

                     // query database
                     ResultSet resultSet = statement.executeQuery(LEES_overzichtgasten);

                     while (resultSet.next()) {

                                GregorianCalendar aankomstdatum = new GregorianCalendar();
                                GregorianCalendar vertrekdatum = new GregorianCalendar();

                                int klantNr = resultSet.getInt("klantnummer");
                                String aanspreekvorm = resultSet.getString("aanspreekvorm");
                                String klantVoornaam = resultSet.getString("klantvoornaam");
                                String klantAchternaam = resultSet.getString("klantachternaam");
                                String klantLand = resultSet.getString("klantland");
                                String klantGemeente= resultSet.getString("klantgemeente");
                                int postcode = resultSet.getInt("klantpostcode");
                                String straatEnNr = resultSet.getString("klantstrnr");
                                String klantTaal = resultSet.getString("klanttaal");
                                String naamBedrijfOfOrganisatie = resultSet.getString("naambedrijforganisatie");
                                int telefoonNr = resultSet.getInt("telefoonnr");
                                int faxNr = resultSet.getInt("faxnr");
                                int mobielNr = resultSet.getInt("mobielnr");
                                String epostAdres = resultSet.getString("epostadres");
                                int rekeningnr = resultSet.getInt("rekeningnr");
                                int IBANOfBICCode = resultSet.getInt("IBANBICcode");
                                int taalcode = resultSet.getInt("ISO639taalcode");
                                String notities = resultSet.getString("notities");
                                int boekingsNr = resultSet.getInt("boekingsNr");
                                int kamerNr = resultSet.getInt("kamerNr");
                                aankomstdatum.setTime(resultSet.getDate("aankomstdatum"));
                                vertrekdatum.setTime(resultSet.getDate("vertrekdatum"));


                                Klant gast = new Klant(klantNr, aanspreekvorm, klantVoornaam, klantAchternaam, klantLand,
klantGemeente, postcode, straatEnNr, klantTaal, naamBedrijfOfOrganisatie, telefoonNr, faxNr, mobielNr, epostAdres, rekeningnr,
IBANOfBICCode, taalcode, notities,boekingsNr, kamerNr, aankomstdatum, vertrekdatum);
                                overzichtgastenLijst.add(gast);
                    }

83
                        statement.close();

                       return overzichtgastenLijst;
           } catch (SQLException e)
           {
                       e.printStackTrace();
           }
           return null;
}
}
/**
 *
 * @author Sam Perdu
 * @version 1.0
 */

package persistentie;

import java.sql.Connection;
import java.util.GregorianCalendar;
import java.util.List;

import domein.Boeking;
import domein.Catering;
import domein.Data;
import domein.Factuur;
import domein.Gebruiker;
import domein.Kamer;
import domein.Klant;
import domein.Factuur;



public class PersistentieController
{
//PersistentieController is een singleton (= bevat geen public
//          constructor)


           /**
            * @directed true
            */

           private static PersistentieController persistentieController;

           /**
            * @directed true
            */

           private UserMapper userMapper;
           private KlantenMapper klantenMapper;
           private KamerMapper kamerMapper;
           private BoekingMapper boeking;
           private DataMapper dataMapper;
           private CateringMapper cateringMapper;
           private FactuurMapper factuurMapper;

           /*
            * @directed true
            */

           private Connectie connectie;

            public static PersistentieController getInstance()
            {
                                  if (persistentieController == null)
                                              persistentieController = new PersistentieController();
                                  return persistentieController;
            }

            private PersistentieController()
            {
                       connectie = new Connectie();
                       klantenMapper = new KlantenMapper();
                       userMapper = new UserMapper();


84
                            kamerMapper = new KamerMapper();
                            dataMapper = new DataMapper();
                            boeking = new BoekingMapper();
                            cateringMapper = new CateringMapper();
                            factuurMapper = new FactuurMapper();
            }

            public List<Klant> geefKlanten()
            {
                       return klantenMapper.geefKlanten();
            }
            public List<Kamer> geefKamers()
            {
                       return kamerMapper.geefKamers();
            }
            public List<Gebruiker> geefGebruikers()
            {
                       return userMapper.geefGebruikers();
            }
            public List<Boeking> geefBoekingen()
            {
                       return boeking.geefboekingen();
            }

            public List<Klant> geefOverzichtGasten()
            {
                       return klantenMapper.geefOverzichtGasten();
            }

            public List<Catering> getCatering()
            {
                       return cateringMapper.getCatering();
            }

            public void wijzigGebruiker()
            {
            }


            public void wijzigTaal(String gebruikersnaam, String wachtwoord, int Taal)
            {
                                userMapper.wijzigTaal(gebruikersnaam, wachtwoord, Taal);
            }

                        public void registreer(String gebruikersnaam, String wachtwoord, String voornaam, String achternaam, int Taal)
                        {
                                   userMapper.registreer(gebruikersnaam, wachtwoord, voornaam, achternaam, Taal);
                        }

                     public void klanttoevoegen(int aanspreekvorm, String klantVoornaam, String klantAchternaam, String klantLand,
String klantGemeente, int postcode, String straatEnNr, int klantTaal, String naamBedrijfOfOrganisatie, int telefoonNr, int mobielNr, int
faxNr, String epostAdres, int rekeningnr, int IBANOfBICCode, int taalcode, String notities)
                     {
                                 klantenMapper.klanttoevoegen(aanspreekvorm, klantVoornaam, klantAchternaam, klantLand,
klantGemeente, postcode, straatEnNr, klantTaal,naamBedrijfOfOrganisatie, telefoonNr, mobielNr, faxNr,epostAdres, rekeningnr,
IBANOfBICCode, taalcode, notities);
                     }

                        public void klantverwijderen(int klantId)
                         {
                                    klantenMapper.klantverwijderen(klantId);
                         }


                      public void voegboekingtoe(int klantNr,int catNr,int kamerNr,int dataNr,int factNr,GregorianCalendar
factuurdatum,int personen, GregorianCalendar boekingsdatum,GregorianCalendar vertrekdatum ,GregorianCalendar aankomstdatum)
                      {

                              boeking.voegboekingtoe(klantNr,catNr,kamerNr,dataNr, factNr, factuurdatum,
personen,boekingsdatum,vertrekdatum , aankomstdatum);

                        }

                public List<Data> geefData()
                         {
                          return dataMapper.geefData();

85
                         }

                 public List<Factuur> maakFactuur(int ID)
                           {
                                      return factuurMapper.maakFactuur(ID);
                           }
               public Connection getConnection()
               {
                           return connectie.getConnection();
               }

               public void closeConnection()
               {
                          connectie.closeConnection();
               }
}
/**
 *
 * @author Giles Duinslaeger
 * @version 1.0
 */

package persistentie;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import domein.*;

public class SeizoenMapper {
           private final static String LEES_SEIZOEN_SQL = "SELECT seizoenNr,dataNr,omschrijving FROM Seizoen";

           public List<Seizoen> geefSeizoen() {

                        List<Seizoen> seizoenLijst = new ArrayList<Seizoen>();

                        Connection connection = Connectie.getInstance().getConnection();

                        // create Statement for querying database
                        Statement statement;

                        try {
                                   statement = connection.createStatement();

                                   // query database
                                   ResultSet resultSet = statement.executeQuery(LEES_SEIZOEN_SQL);

                                   while (resultSet.next()) {

                                              int seizoenNr = Integer.parseInt(resultSet.getString("seizoenNr"));
                                              int dataNr = Integer.parseInt(resultSet.getString("dataNr"));
                                              String omschrijving = resultSet.getString("omschrijving");
                                              Seizoen seizoen = new Seizoen(seizoenNr, dataNr, omschrijving);
                                              seizoenLijst.add(seizoen);
                                    }
                                    statement.close();
                                    return seizoenLijst;
                        } catch (SQLException e) {
                                    e.printStackTrace();
                        }
                        return null;
           }

}
/**
 *
 * @author Stefan Eeckhoudt
 * @version 1.0
 */



86
package persistentie;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import domein.*;

public class UserMapper {

          private final static String LEES_USER_SQL = "SELECT gebruikersnaam,wachtwoord,voornaam,achternaam,taal FROM
Gebruiker";

           public void registreer(String gebruikersnaam, String wachtwoord, String voornaam, String achternaam, int Taal)
           {
                      String UL = ""+Taal;

                  String sqlChangeLang ="INSERT INTO Gebruiker (gebruikersnaam,wachtwoord,voornaam,achternaam,taal)
VALUES ('"+gebruikersnaam+"', '"+wachtwoord+"','"+voornaam+"','"+achternaam+"','"+UL+"' ) ";

                        Connection connection = Connectie.getInstance().getConnection();

                        // create Statement for querying database
                        Statement statement;

                        try {
                                   statement = connection.createStatement();

                                   // query database
                                   statement.executeUpdate(sqlChangeLang);

                                   statement.close();
                        } catch (SQLException e) {
                                   e.printStackTrace();
                        }

           }

           public void wijzigTaal(String gebruikersnaam, String wachtwoord, int Taal)
           {
                      String UL = "" + Taal;

                  String sqlChangeLang ="UPDATE Gebruiker SET taal=" + UL + " WHERE gebruikersnaam='" +gebruikersnaam + "'
AND wachtwoord='" + wachtwoord + "'";

                        Connection connection = Connectie.getInstance().getConnection();

                        // create Statement for querying database
                        Statement statement;

                        try {
                                   statement = connection.createStatement();

                                   // query database
                                   statement.executeUpdate(sqlChangeLang);

                                   statement.close();
                        } catch (SQLException e) {
                                   e.printStackTrace();
                        }

           }

           public List<Gebruiker> geefGebruikers() {

                        List<Gebruiker> gebruikerslijst = new ArrayList<Gebruiker>();

                        Connection connection = Connectie.getInstance().getConnection();

                        // create Statement for querying database
                        Statement statement;

                        try {
                                   statement = connection.createStatement();

                                   // query database
                                   ResultSet resultSet = statement.executeQuery(LEES_USER_SQL);

87
                             while (resultSet.next()) {


                                        String gebruikersnaam = resultSet.getString("gebruikersnaam");
                                        String wachtwoord = resultSet.getString("wachtwoord");
                                        String voornaam = resultSet.getString("voornaam");
                                        String achternaam = resultSet.getString("achternaam");
                                        int Taal = resultSet.getInt("taal");
                                        Gebruiker gebruiker = new Gebruiker(gebruikersnaam, wachtwoord, voornaam, achternaam,
Taal);
                                        gebruikerslijst.add(gebruiker);
                             }
                             statement.close();
                             return gebruikerslijst;

                  } catch (SQLException e) {
                              e.printStackTrace();
                  }
                  return null;
              }

}
-----------




88
8..Besluit:
Problemen die we ontmoet hebben:

We hadden wel geleerd om een ERD en rationeel model op te stellen, maar om deze daarna in een acces database te implementeren hebben
we wel wat moeilijkheden gehad.
Ook met de database te implementeren in het project hebben we heel wat problemen gehad,
Zoals met klassen die niet overeenkwamen etc. Meestal wel te wijten aan wijzelf die niet altijd even nauwkeurig te werk gingen.

Ook de werkverdeling en de communicatie tussen de groepsleden liep niet altijd even vlot, zodat we in de laatste weken nog een
inhaalmanoeuvre hebben moeten doen om het project tijdig af te krijgen.

Als we het project nu opnieuw zouden doen:

Zouden we het werk beter structureren, in de eerste weken hadden we te veel tijd verspild aan het voorbereidend werk zoals database en
ERD, waardoor we wat te laat zijn begonnen aan het programmeren zelf. Ook de resourcebundles, dat we als laatste werk gehouden hebben,
nam meer tijd in beslag dan we dachten zodat we wat in tijdsnood kwamen

Wat we geleerd hebben:

Dit was eigenlijk onze eerste opdracht waar we echt als een team moesten werken. Wat later nog veel van pas zal komen.
Verder hebben we ook vooral veel Java geleerd, in 1 groot project waar je zelf verantwoordelijk voor bent, steek je meer tijd in waardoor je
veel oefent.




89
90

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:10
posted:10/30/2011
language:Dutch
pages:90