public override void VoegReservatieToe(Dictionary <Product, int> map, DateTime startDate, DateTime eindDate, Email[] email, bool[] dagen = null)
        {
            EmailService service = new EmailService();
            Reservatie   r       = new Reservatie
            {
                StartDatum       = startDate,
                EindDatum        = eindDate,
                ReservatieStatus = ReservatieStatus.Gereserveerd,
                ReservatieUser   = this,
                AanmaakDatum     = DateTime.Now
            };

            foreach (KeyValuePair <Product, int> entry in map)
            {
                if (entry.Value != 0)
                {
                    if (entry.Value > entry.Key.GeefAantalReserveerbaarInPeriode(startDate, eindDate))
                    {
                        throw new ArgumentOutOfRangeException("Er zijn niet genoeg stuks beschikbaar van  " + entry.Key.Artikelnaam);
                    }
                    else if (entry.Value < 0)
                    {
                        throw new ArgumentOutOfRangeException("U kan geen negatieve waarde toekennen aan  " + entry.Key.Artikelnaam);
                    }
                    r.VoegReservatieLijnToe(entry.Key, entry.Value);
                }
            }
            Reservaties.Add(r);
            service.VerzendEmail(r, this, email[0]);
        }
        private void VerzendBevestigingReservatie(Reservatie reservatie, ApplicationUser user, Email email)
        {
            //Code werkt, er is alleen een smtp server nodig

            MailMessage mm = new MailMessage("*****@*****.**", user.Email);

            mm.Subject    = email.Subject.Replace("{reservatieStartDatum}", reservatie.StartDatum.ToString("D")).Replace("{reservatieEindDatum}", reservatie.EindDatum.ToString("D"));
            mm.Body       = email.Header + email.Body + email.Footer;
            mm.Body       = mm.Body.Replace("{naam}", user.Naam).Replace("{voornaam}", user.Voornaam).Replace("{reservatieStartDatum}", reservatie.StartDatum.ToString("D")).Replace("{reservatieEindDatum}", reservatie.EindDatum.ToString("D"));
            mm.IsBodyHtml = true;

            SmtpClient smtp = new SmtpClient();

            smtp.Host                  = "smtp.gmail.com";
            smtp.Port                  = 587;
            smtp.EnableSsl             = true;
            smtp.DeliveryMethod        = SmtpDeliveryMethod.Network;
            smtp.UseDefaultCredentials = false;
            smtp.Credentials           = new NetworkCredential("*****@*****.**", "P@ssword12");
            smtp.Send(mm);
        }
 public void VerzendEmail(Reservatie reservatie, ApplicationUser user, Email email)
 {
     VerzendBevestigingReservatie(reservatie, user, email);
 }