public void getAantalUitgeleendTest()
        {
            List<Uitlening> expected = new List<Uitlening>(); // TODO: Initialize to an appropriate value
            Uitlening newuit = new Uitlening("Extreme Laptop", 0, DateTime.MinValue, DateTime.MinValue, 1);
            Uitlening newuit2 = new Uitlening("Feestmuts", 0, DateTime.MinValue, DateTime.MinValue, 1);
            Uitlening newuit3 = new Uitlening("Laptop", 0, DateTime.MinValue, DateTime.MinValue, 1);
            Uitlening newuit4 = new Uitlening("Partytent", 0, DateTime.MinValue, DateTime.MinValue, 1);
            expected.Add(newuit);
            expected.Add(newuit2);
            expected.Add(newuit3);
            expected.Add(newuit4);

            List<Uitlening> actual;
            actual = DatabaseKoppeling.getAantalUitgeleend();

            for (int i = 0; i < expected.Count; i++)
            {
                Assert.AreEqual(expected[i].Type, actual[i].Type);
            }
        }
        /// <summary>
        /// getAantalUitgeleend returned een List met leningen.
        /// <para>Deze methode voegt uitlening objecten toe in de list. In deze list kan uitgelezen worden welke materialen er op het moment uitgeleend worden.</para>
        /// </summary>
        /// <returns>List met op het moment uitgeleend materiaal.</returns>
        public static List<Uitlening> getAantalUitgeleend()
        {
            List<Uitlening> leningen = new List<Uitlening>();

            string sqla = "SELECT DISTINCT TYPE FROM UITLENING";
            OracleCommand sqlacommand = new OracleCommand(sqla, conn);

            try
            {
                conn.Open();
                OracleDataReader reader = sqlacommand.ExecuteReader();
                while (reader.Read())
                {
                    Uitlening lening = new Uitlening(Convert.ToString(reader["TYPE"]), 0, DateTime.MinValue, DateTime.MinValue, 0);
                    leningen.Add(lening);
                }
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
            finally
            {
                conn.Close();
            }
            return leningen;
        }
        /// <summary>
        /// RemoveUitlening verwijdert een uitlening uit de database.
        /// </summary>
        /// <param name="uitlening">De uitlening van de klant.</param>
        /// <param name="Reserveringsnummer">Het reserveringsnummer van de klant.</param>
        public static void removeUitlening(Uitlening uitlening, int Reserveringsnummer)
        {
            //Als het aantal == 1 dan moet de uitlening verwijdert worden (aantal wordt dus 0 en is niet langer geldig.)
            if (uitlening.Aantal == 1)
            {
                string sqla = "DELETE FROM UITLENING WHERE (RESERVERINGSNUMMER = " + Reserveringsnummer + " AND TYPE = '" + uitlening.Type + "')";
                OracleCommand deletecmd = new OracleCommand(sqla, conn);
                try
                {
                    conn.Open();
                    deletecmd.ExecuteNonQuery();
                }
                catch (Exception exc)
                {

                    System.Windows.Forms.MessageBox.Show(exc.Message);
                }
                finally
                {
                    conn.Close();
                }
            }

            //Als het aantal groter dan 1 is moet de uitlening geupdate worden. Het aantal zelfde artikelen wordt dus gewijzigd.
            if (uitlening.Aantal >= 2)
            {
                string sqlb = "UPDATE UITLENING SET AANTAL = AANTAL -1 WHERE (RESERVERINGSNUMMER = " + Reserveringsnummer + " AND TYPE = '" + uitlening.Type + "')";
                OracleCommand update = new OracleCommand(sqlb, conn);

                try
                {
                    conn.Open();
                    update.ExecuteNonQuery();
                }
                catch (Exception exc)
                {

                    System.Windows.Forms.MessageBox.Show(exc.Message);
                }
                finally
                {
                    conn.Close();
                }
            }
        }
        /// <summary> getUitlening geeft de uitleningen terug met gegeven reserveringsnummer.
        /// <para> getUitlening returned een List met Uitleningen waarin elke uitlening met het gegeven Reserveringsnummer instaan.</para>
        /// </summary>
        /// <param name="ReserveringsNummer">Het reserveringsNummer van de klant.</param>
        /// <returns>List</returns>
        public static List<Uitlening> getUitlening(int ReserveringsNummer)
        {
            List<Uitlening> uitlening = new List<Uitlening>();

            string sql = "SELECT TO_CHAR(DATUM_UITGELEEND, 'DD/MM/YYYY') AS DATUM_UITGELEEND, TO_CHAR(DATUM_INGELEVERD, 'DD/MM/YYYY') AS DATUM_INGELEVERD, TYPE, AANTAL, BETAALD FROM UITLENING WHERE RESERVERINGSNUMMER = " + ReserveringsNummer + "";
            OracleCommand cmd = new OracleCommand(sql, conn);

            try
            {
                conn.Open();
                OracleDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    Uitlening lening = new Uitlening(Convert.ToString(reader["TYPE"]), Convert.ToInt32(ReserveringsNummer), Convert.ToDateTime(reader["DATUM_INGELEVERD"]), Convert.ToDateTime(reader["DATUM_UITGELEEND"]), Convert.ToInt32(reader["AANTAL"]));
                    uitlening.Add(lening);
                }
            }
            catch (Exception fail)
            {

                System.Windows.Forms.MessageBox.Show(fail.Message);
            }
            finally
            {
                conn.Close();
            }
            return uitlening;
        }
        /// <summary>
        /// getPersonenBijUitlening returned een List met uitleninging waarin reserveringsnummers staan met bijbehorend gehuurd materiaal.
        /// </summary>
        /// <param name="Type">Het type (=naam) materiaal.</param>
        /// <returns>Een list met uitleningen(=reserveringsnummers).</returns>
        public static List<Uitlening> getPersonenBijUitlening(string Type)
        {
            List<Uitlening> personen = new List<Uitlening>();
            string sqla = "SELECT DISTINCT RESERVERINGSNUMMER FROM UITLENING WHERE TYPE = '" + Type + "'";
            OracleCommand sqlacommand = new OracleCommand(sqla, conn);

            try
            {
                conn.Open();
                OracleDataReader reader = sqlacommand.ExecuteReader();
                while (reader.Read())
                {
                    Uitlening lening = new Uitlening(Type, Convert.ToInt32(reader["RESERVERINGSNUMMER"]), DateTime.MinValue, DateTime.MinValue, 0);
                    personen.Add(lening);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                conn.Close();
            }

            return personen;
        }
 public void getUitleningTest()
 {
     int ReserveringsNummer = 9999; // TODO: Initialize to an appropriate value
     List<Uitlening> expected = new List<Uitlening>(); // TODO: Initialize to an appropriate value
     Uitlening verwacht = new Uitlening("Partytent", ReserveringsNummer, Convert.ToDateTime("01-04-11"), Convert.ToDateTime("01-04-11"), 4);
     expected.Add(verwacht);
     List<Uitlening> actual;
     actual = DatabaseKoppeling.getUitlening(ReserveringsNummer);
     for (int i = 0; i < expected.Count; i++)
     {
         Assert.AreEqual(expected[i].Type, actual[i].Type);
     }
 }
 public void getPersonenBijUitleningTest()
 {
     string Type = "Partytent"; // TODO: Initialize to an appropriate value
     List<Uitlening> expected = new List<Uitlening>(); // TODO: Initialize to an appropriate value
     Uitlening newuit = new Uitlening("Partytent", 9999, DateTime.MinValue, DateTime.MinValue, 1);
     List<Uitlening> actual;
     actual = DatabaseKoppeling.getPersonenBijUitlening(Type);
     for (int i = 0; i < expected.Count; i++)
     {
         Assert.AreEqual(expected[i].Reserveringsnummer, actual[i].Reserveringsnummer);
     }
 }