public ActionResult WijzigProductAanbieding(ProductAanbieding aanbieding)
 {
     if (ModelState.IsValid)
     {
         try
         {
             aanbiedingDBController.WijzigAanbieding(aanbieding);
             TempData[Enum.ViewMessage.WIJZIGING.ToString()] = "Aanbieding Id: " + aanbieding.AanbiedingId;
             return RedirectToAction("Beheer", "Account");
         }
         catch (Exception e)
         {
             ViewBag.FoutMelding("Er is iets fout gegaan: " + e);
             return View();
         }
     }
     else
     {
         return View(aanbieding);
     }
 }
        public ActionResult ToevoegenProductAanbieding(ProductAanbieding aanbieding)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    aanbiedingDBController.InsertAanbieding(aanbieding);
                    TempData[Enum.ViewMessage.TOEVOEGING.ToString()] = "Aanbieding Id: " + aanbieding.AanbiedingId + ", KortingsPercentage: " + aanbieding.KortingsPercentage;

                    return RedirectToAction("Beheer", "Account");
                }
                catch (Exception e)
                {
                    ViewBag.FoutMelding("Er is iets fout gegaan: " + e);
                    return View();
                }
            }
            else
            {
                return View(aanbieding);
            }
        }
        // Insert aanbieding
        public void InsertAanbieding(ProductAanbieding aanbieding)
        {
            try
            {
                conn.Open();
                string insertString = @"insert into aanbieding (beginDatum, eindDatum, kortingspercentage) " +
                                        "values (@beginDatum, @eindDatum, @kortingspercentage)";

                MySqlCommand cmd = new MySqlCommand(insertString, conn);
                MySqlParameter beginDatumParam = new MySqlParameter("@beginDatum", MySqlDbType.VarChar);
                MySqlParameter eindDatumParam = new MySqlParameter("@eindDatum", MySqlDbType.VarChar);
                MySqlParameter kortingsPercentageParam = new MySqlParameter("@kortingspercentage", MySqlDbType.Int32);

                beginDatumParam.Value = aanbieding.BeginDatum;
                eindDatumParam.Value = aanbieding.EindDatum;
                kortingsPercentageParam.Value = aanbieding.KortingsPercentage;

                cmd.Parameters.Add(beginDatumParam);
                cmd.Parameters.Add(eindDatumParam);
                cmd.Parameters.Add(kortingsPercentageParam);

                cmd.Prepare();
                cmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                Console.Write("Aanbieding niet toegevoegd: " + e);
                throw e;
            }
            finally
            {
                conn.Close();
            }
        }
        // Wijzig 1 aanbieding
        public void WijzigAanbieding(ProductAanbieding aanbieding)
        {
            try
            {
                conn.Open();

                string insertString = @"update aanbieding set beginDatum=@beginDatum, eindDatum=@eindDatum, kortingsPercentage=@kortingspercentage where aanbiedingId=@aanbiedingId";

                MySqlCommand cmd = new MySqlCommand(insertString, conn);
                MySqlParameter aanbiedingIdParam = new MySqlParameter("@aanbiedingId", MySqlDbType.Int32);
                MySqlParameter beginDatumParam = new MySqlParameter("@beginDatum", MySqlDbType.Date);
                MySqlParameter eindDatumParam = new MySqlParameter("@eindDatum", MySqlDbType.Date);
                MySqlParameter kortingspercentageParam = new MySqlParameter("@kortingspercentage", MySqlDbType.Int32);

                aanbiedingIdParam.Value = aanbieding.AanbiedingId;
                beginDatumParam.Value = aanbieding.BeginDatum;
                eindDatumParam.Value = aanbieding.EindDatum;
                kortingspercentageParam.Value = aanbieding.KortingsPercentage;

                cmd.Parameters.Add(aanbiedingIdParam);
                cmd.Parameters.Add(beginDatumParam);
                cmd.Parameters.Add(eindDatumParam);
                cmd.Parameters.Add(kortingspercentageParam);

                cmd.Prepare();
                cmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                Console.Write("Wijzigen aanbieding niet gelukt: " + e);
                throw e;
            }
            finally
            {
                conn.Close();
            }
        }
        protected BestelRegel getFullBestellingFromDataReader(MySqlDataReader datareader)
        {
            BestelRegel bestellingRegel = null;
            if (GetIntValue(datareader, "aanbiedingId") == 0)
            {
                ProductAanbieding productAanbieding = new ProductAanbieding();
                bestellingRegel = new BestelRegel
                {
                    RegelId = datareader.GetInt32("regelId"),
                    Hoeveelheid = datareader.GetInt32("hoeveelheid"),
                    Datum = datareader.GetDateTime("datum") == null ? "geen" : datareader.GetDateTime("datum").ToString("yyyy/M/%d"),
                    Bestelling = getBestellingFromDataReader(datareader),
                    ProductDetail = getProductDetailFromDataReader(datareader),
                    ProductAanbieding = productAanbieding,
                };
            }
            else
            {
                bestellingRegel = new BestelRegel
                {
                    RegelId = datareader.GetInt32("regelId"),
                    Hoeveelheid = datareader.GetInt32("hoeveelheid"),
                    Datum = datareader.GetDateTime("datum") == null ? "geen" : datareader.GetDateTime("datum").ToString("yyyy/M/%d"),
                    Bestelling = getBestellingFromDataReader(datareader),
                    ProductDetail = getProductDetailFromDataReader(datareader),
                    ProductAanbieding = GetAanbiedingFromDataReader(datareader),
                };
            }

            return bestellingRegel;
        }
        /*
         * 
         * Aanbieding
         * 
         */

        // Haal overzicht van aanbiedingen binnen
        protected ProductAanbieding GetAanbiedingFromDataReader(MySqlDataReader dataReader)
        {
            ProductAanbieding aanbieding = new ProductAanbieding
            {
                AanbiedingId = dataReader.GetInt32("aanbiedingId"),
                BeginDatum = dataReader.GetDateTime("beginDatum") == null ? "geen" : dataReader.GetDateTime("beginDatum").ToString("yyyy/M/%d"),
                EindDatum = dataReader.GetDateTime("eindDatum") == null ? "geen" : dataReader.GetDateTime("eindDatum").ToString("yyyy/%M/%d"),
                KortingsPercentage = dataReader.GetInt32("kortingsPercentage"),
            };

            return aanbieding;
        }