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)); }
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)); }
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)); }
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)); }