protected Evenement GetEvenementFromDataReader(MySqlDataReader dataReader)
        {
            int evenementId = dataReader.GetInt32("evenement_id");
            Lokatie lokatie = (Lokatie)Enum.Parse(typeof(Lokatie), dataReader.GetString("lokatie"));
            DateTime datum = dataReader.GetDateTime("datum");
            string evenementNaam = dataReader.GetString("evenementnaam");

            Evenement evenement = new Evenement{ID = evenementId, Lokatie=lokatie, Datum = datum, Naam = evenementNaam};

            return evenement;
        }
        public ActionResult NieuwEvenement(Evenement evenement)
        {
            try
            {
                evenementController.InsertEvenement(evenement);

            }
            catch (Exception e)
            {
                ViewBag.FoutMelding = "Er is iets fout gegaan: " + e;

            }
            return RedirectToAction("Index", "Evenement");
        }
 public ActionResult NieuwEvenementMetValidatie(Evenement evenement)
 {
     if (ModelState.IsValid)
     {
         try
         {
             evenementController.InsertEvenement(evenement);
             return RedirectToAction("Index", "Evenement");
         }
         catch (Exception e)
         {
             ViewBag.FoutMelding = "Er is iets fout gegaan: " + e;
             return View();
         }
     }
     else
     {
         return View(evenement);
     }
 }
 public ActionResult WijzigEvenement(Evenement evenement)
 {
     try
     {
         evenementController.UpdateEvenement(evenement);
     }
     catch (Exception e)
     {
         ViewBag.FoutMelding("Er is iets fout gegaan: " + e);
     }
     return RedirectToAction("Index", "Evenement");
 }
        public void DeleteEvenement(Evenement evenement)
        {
            MySqlTransaction trans = null;
            try
            {
                conn.Open();
                trans = conn.BeginTransaction();
                string insertString = @"delete from Evenement where Evenement_id=@id";

                MySqlCommand cmd = new MySqlCommand(insertString, conn);
                MySqlParameter idParam = new MySqlParameter("@id", MySqlDbType.Int32);

                idParam.Value = evenement.ID;

                cmd.Parameters.Add(idParam);
                cmd.Prepare();

                cmd.ExecuteNonQuery();
                trans.Commit();
            }
            catch (Exception e)
            {
                trans.Rollback();
                Console.Write("Evenement niet verwijderd: " + e);
                throw e;
            }
            finally
            {
                conn.Close();
            }
        }
        public void UpdateEvenement(Evenement evenement)
        {
            MySqlTransaction trans = null;
            try
            {
                conn.Open();
                trans = conn.BeginTransaction();
                string insertString = @"update evenement set evenementnaam=@evenementnaam, datum=@datum, lokatie=@lokatie where evenement_id=@evenement_id";

                MySqlCommand cmd = new MySqlCommand(insertString, conn);
                MySqlParameter evenementnaamParam = new MySqlParameter("@evenementnaam", MySqlDbType.VarChar);
                MySqlParameter datumParam = new MySqlParameter("@datum", MySqlDbType.DateTime);
                MySqlParameter lokatieParam = new MySqlParameter("@lokatie", MySqlDbType.Enum);
                MySqlParameter evenementParam = new MySqlParameter("@evenement_id", MySqlDbType.Int32);

                evenementnaamParam.Value = evenement.Naam;
                datumParam.Value = evenement.Datum;
                lokatieParam.Value = evenement.Lokatie;
                evenementParam.Value = evenement.ID;

                cmd.Parameters.Add(evenementnaamParam);
                cmd.Parameters.Add(datumParam);
                cmd.Parameters.Add(lokatieParam);
                cmd.Parameters.Add(evenementParam);

                cmd.Prepare();
                cmd.ExecuteNonQuery();
                trans.Commit();
            }
            catch (Exception e)
            {
                trans.Rollback();
                Console.Write("Updaten evenement niet gelukt: " + e);
                throw e;
            }
            finally
            {
                conn.Close();
            }
        }
        public void InsertEvenement(Evenement Evenement)
        {
            MySqlTransaction trans = null;
            try
            {
                conn.Open();
                trans = conn.BeginTransaction();
                string insertString = @"insert into evenement (evenementnaam, datum, lokatie) values (@evenementnaam, @datum, @lokatie)";

                MySqlCommand cmd = new MySqlCommand(insertString, conn);
                MySqlParameter evenementnaamParam = new MySqlParameter("@evenementnaam", MySqlDbType.VarChar);
                MySqlParameter datumParam = new MySqlParameter("@datum", MySqlDbType.DateTime);
                MySqlParameter lokatieParam = new MySqlParameter("@lokatie", MySqlDbType.Enum);

                evenementnaamParam.Value = Evenement.Naam;
                datumParam.Value = Evenement.Datum;
                lokatieParam.Value = Evenement.Lokatie;

                cmd.Parameters.Add(evenementnaamParam);
                cmd.Parameters.Add(datumParam);
                cmd.Parameters.Add(lokatieParam);

                cmd.Prepare();
                cmd.ExecuteNonQuery();
                trans.Commit();
            }
            catch (Exception e)
            {
                trans.Rollback();
                Console.Write("Evenement niet toegevoegd: " + e);
                throw e;
            }
            finally
            {
                conn.Close();
            }
        }