public IActionResult Index(WachtwoordVergetenViewModel model)
        {
            var user = _userManager.Users.SingleOrDefault(u => u.Email.Equals(model.Email));

            if (user == null)
            {
                ModelState.AddModelError("Email", "Er is geen account geregistreerd op dit emailadres");
            }
            else
            {
                var code        = _userManager.GenerateEmailConfirmationTokenAsync(user).Result;
                var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = user.Id, code, email = model.Email },
                                             protocol: HttpContext.Request.Scheme);

                JobCoach jc = _jobCoachRepository.GetByEmail(model.Email);
                MailVerzender.VerzendMailWachtwoordVergeten(jc.Naam + " " + jc.Voornaam, model.Email, callbackUrl);
            }
            if (ModelState.IsValid)
            {
                try
                {
                    TempData["message"] =
                        "U heeft succesvol een aanvraag voor een nieuw wachtwoord gedaan, u heeft een e-mail ontvangen met een herstel link.";
                    return(RedirectToAction("Login", "Account"));
                }
                catch (Exception e)
                {
                    ModelState.AddModelError("", e.Message);
                }
            }
            TempData["error"] = "Iets is misgelopen, de er is geen herstel mail verstuurd.";
            return(View(model));
        }
Beispiel #2
0
        public async Task <IActionResult> ContacteerAdmin(ContacteerAdminViewModel model)
        {
            AnalyseFilter.ZetSessieLeeg(HttpContext);
            if (ModelState.IsValid)
            {
                try
                {
                    JobCoach jc = _jobCoachRepository.GetByEmail(User.Identity.Name);
                    await MailVerzender.ContacteerAdmin(jc.Naam + " " + jc.Voornaam, jc.Email, model.Onderwerp, model.Inhoud);

                    Admin     admin = _adminRepository.GetByEmail("*****@*****.**");
                    AdminMail mail  = new AdminMail(jc, admin, model.Onderwerp, model.Inhoud, DateTime.Now);
                    _adminMailRepository.Add(mail);
                    _adminMailRepository.SaveChanges();
                    TempData["message"] = "Uw bericht werd succesvol naar de admin verstuurd.";
                    return(RedirectToAction(nameof(Index)));
                }
                catch (Exception e)
                {
                    ModelState.AddModelError("", e.Message);
                }
            }
            TempData["error"] = "Iets is misgelopen, uw bericht werd niet naar de admin verstuurd.";
            return(View(model));
        }
Beispiel #3
0
        public async Task <IActionResult> VerstuurMailMetPdf(MailMetPdfViewModel model)
        {
            AnalyseFilter.ZetSessieLeeg(HttpContext);
            if (ModelState.IsValid)
            {
                try
                {
                    JobCoach jc       = _jobCoachRepository.GetByEmail(User.Identity.Name);
                    var      dir      = Path.Combine(_environment.WebRootPath, "pdfs");
                    var      fileName = "";
                    if (Directory.Exists(dir))
                    {
                        fileName = dir + "\\pdf_" + User.Identity.Name + ".pdf";
                    }


                    await MailVerzender.StuurPdf(jc.Voornaam + jc.Naam, jc.Email, model.OntvangerMail, model.Onderwerp, model.Inhoud, fileName);

                    TempData["message"] = "Uw email naar " + model.OntvangerMail + " werd succesvol verstuurd.";
                    return(RedirectToAction(nameof(Index)));
                }
                catch (Exception e)
                {
                    TempData["error"] = "Iets is misgelopen, uw email werd niet verstuurd.";
                    ModelState.AddModelError("", e.Message);
                }
            }

            return(View(model));
        }
Beispiel #4
0
        public async Task <IActionResult> Register(RegisterViewModel model, string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;
            if (_jobCoachRepository.GetAll().Select(j => j.Email).Contains(model.Email))
            {
                ModelState.AddModelError("Email", "Email is al in gebruik");
            }
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email, Naam = model.Naam, Voornaam = model.Voornaam
                };
                string wachtwoord = WachtwoordGenerator.GeefRandomWachtwoord();
                var    result     = await _userManager.CreateAsync(user, wachtwoord);

                if (result.Succeeded)
                {
                    MailVerzender.VerzendMailEersteKeerInloggen(model.Naam + " " + model.Voornaam, model.Email, wachtwoord);
                    JobCoach jc = new JobCoach(model.Naam, model.Voornaam, model.Email, model.NaamBedrijf, model.Straat, model.Nummer, model.Postcode, model.Gemeente);
                    if (model.Bus != null)
                    {
                        jc.BusBedrijf = model.Bus;
                    }
                    _jobCoachRepository.Add(jc);
                    _jobCoachRepository.SaveChanges();

                    Admin               admin        = _adminRepository.GetByEmail("*****@*****.**");
                    InterneMail         mail         = new InterneMail(admin, "Welkom op Kairos", "Dag " + jc.Voornaam + " " + jc.Naam + ",\n\nwij wensen u hartelijk welkom op Kairos,\nwij hopen dat u een aangename ervaring heeft op onze applicatie, dat u deze applicatie bruikbaar vind en er mooie resultaten mee kan behalen om mensen met een beperking aan het werk te helpen.\nIndien u vragen heeft, aarzel niet om mij te contacteren.\n\nMet vriendelijke groeten,\nUw Kairos team", DateTime.Now);
                    InterneMailJobcoach mailJobcoach = new InterneMailJobcoach(jc, mail);
                    _interneMailJobcoachRepository.Add(mailJobcoach);
                    _interneMailJobcoachRepository.SaveChanges();
                    TempData["message"] =
                        "U heeft succesvol geregistreerd, u heeft een e-mail ontvangen met uw eerste wachtwoord.";
                    // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=532713
                    // Send an email with this link
                    //var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);
                    //var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: HttpContext.Request.Scheme);
                    //await _emailSender.SendEmailAsync(model.Email, "Confirm your account",
                    //    $"Please confirm your account by clicking this link: <a href='{callbackUrl}'>link</a>");
                    return(RedirectToAction("Login"));
                }
                AddErrors(result);
            }
            TempData["error"] = "Iets is misgelopen, de registratie is niet voltooid.";
            // If we got this far, something failed, redisplay form
            return(View(model));
        }