public void BtnBevestig_ClickTest() { int reserveringsNummer = DatabaseKoppeling.GetNieuwReserveringsnummer(); Reservering reservering = new Reservering(reserveringsNummer, "false"); DatabaseKoppeling.AddReservering(reservering); string rfid = DatabaseKoppeling.GetVrijRFID(); BetalendeKlant klant = new BetalendeKlant(rfid, "Klaas Jansen", "125879654", "*****@*****.**", "0497641565", "Hoge Veluwe", "Garstbocht 2", "84.15.45.122", "4584 AK", reserveringsNummer); DatabaseKoppeling.AddBetalendeKlant(klant); DatabaseKoppeling.AddReserveringPlaats(reserveringsNummer, "3"); DatabaseKoppeling.AddReserveringPlaats(reserveringsNummer, "8"); string vrijRFID = DatabaseKoppeling.GetVrijRFID(); Klant klant2 = new Klant(vrijRFID, reserveringsNummer); DatabaseKoppeling.AddKlant(klant2); string vrijRFID2 = DatabaseKoppeling.GetVrijRFID(); Klant klant3 = new Klant(vrijRFID2, reserveringsNummer); DatabaseKoppeling.AddKlant(klant3); int actual1 = DatabaseKoppeling.GetAantalPersonen(reserveringsNummer); int expected1 = 3; Assert.AreEqual(expected1, actual1); BetalendeKlant actual2 = DatabaseKoppeling.GetKlantBetalend(reserveringsNummer); BetalendeKlant expected2 = klant; Assert.AreEqual(expected2.Naam, actual2.Naam); Assert.AreEqual(expected2.Rfid, actual2.Rfid); }
/// <summary> /// Deze knop bevestigd de reservering. En voegt het aantal personen voor de reservering /// toe aan de DB of verwijderd ze als het er minder zijn geworden. Als het Form in de /// wijzig modes staat worden de BetalendeKlant gegevens geupdat in de DB. /// LET OP: vul hier de juiste smtp server in! Voor fontys: smtp1.fontys.nl /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnBevestig_Click(object sender, EventArgs e) { try { //zorgt ervoor dat betalende klant alleen geupdate wordt als er op wijzigen is geklikt. if (!this.viewmode) { BetalendeKlant klant = new BetalendeKlant(this.tbNaam.Text, this.tbSofinummer.Text, this.tbEmail.Text, this.tbTelefoon.Text, this.tbWoonplaats.Text, this.tbStraat.Text, this.tbRekening.Text, this.tbPostcode.Text, this.reserveringsNummer); DatabaseKoppeling.UpdateKlantBetalend(klant); } if (this.nudAantal.Value > this.personen) { //create zoveel extra personen als het verschil is int verschil = (int)this.nudAantal.Value - this.personen; for (int i = 0; i < verschil; i++) { string vrijRFID = DatabaseKoppeling.GetVrijRFID(); Klant klant = new Klant(vrijRFID, this.reserveringsNummer); DatabaseKoppeling.AddKlant(klant); } } else { //Verwijder zoveel personen als het verschil is int verschil = this.personen - (int)this.nudAantal.Value; for (int i = 0; i < verschil; i++) { string rfid = DatabaseKoppeling.GetRFIDReservering(this.reserveringsNummer); if (rfid != null) { DatabaseKoppeling.RemoveKlant(rfid); } } } SendMail mail = new SendMail(); List<Persoon> inloggegevens = DatabaseKoppeling.GetInlogGegevens(this.reserveringsNummer); string body = mail.Mailbody(this.reserveringsNummer, this.tbNaam.Text, (int)this.nudAantal.Value, this.lblPrijs.Text, this.tbRekening.Text, inloggegevens); mail.VerzendMail("*****@*****.**", this.tbEmail.Text, "Bevestiging Reservering", body, "smtp1.fontys.nl"); this.Close(); } catch (Oracle.DataAccess.Client.OracleException) { MessageBox.Show("Ongeldige database actie. \nEr heeft zich een database restrictie voorgedaan of de connectie is verbroken.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Maakt een Klant aan in een al BESTAANDE reservering. /// </summary> /// <param name="klant">De klant gegevens die toegevoegd worden.</param> public static void AddKlant(Klant klant) { string sql = "INSERT ALL INTO PERSOON (RFID, WACHTWOORD, TYPE) VALUES('" + klant.Rfid + "', '" + SHA1Hashing.MaakSHA1(klant.Wachtwoord) + "', '" + klant.Type + "') INTO KLANT (RFID, RESERVERINGSNUMMER) VALUES ('" + klant.Rfid + "', " + klant.Reserveringsnummer + ") SELECT * FROM dual"; OracleCommand cmd = new OracleCommand(sql, conn); try { conn.Open(); cmd.ExecuteNonQuery(); } catch (Exception ex) { throw ex; } finally { conn.Close(); } }