예제 #1
0
        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);
        }
예제 #2
0
        /// <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);
            }
        }
예제 #3
0
        /// <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();
            }
        }