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> DoorgaanMetOpslaan(ProfielAanpassenViewModel model) { AnalyseFilter.ZetSessieLeeg(HttpContext); if (ModelState.IsValid) { try { JobCoach jc = _jobCoachRepository.GetByEmail(User.Identity.Name); jc.BusBedrijf = model.Bus; jc.GemeenteBedrijf = model.Gemeente; jc.Naam = model.Naam; jc.NaamBedrijf = model.NaamBedrijf; jc.NummerBedrijf = model.Nummer; jc.PostcodeBedrijf = model.Postcode; jc.StraatBedrijf = model.Straat; jc.Voornaam = model.Voornaam; _jobCoachRepository.SaveChanges(); ApplicationUser user = await _userManager.GetUserAsync(User); user.Naam = model.Naam; user.Voornaam = model.Voornaam; await _userManager.UpdateAsync(user); TempData["message"] = "Uw profiel is succesvol aangepast."; return(RedirectToAction(nameof(WachtwoordAanpassen))); } catch { TempData["error"] = "Iets is misgelopen, uw profiel is niet aangepast."; } } return(RedirectToAction(nameof(ProfielAanpassenDoorgaanMetOpslaanNietMogelijk), model)); }
public async Task <IActionResult> ResetPassword(ResetPasswordViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var user = await _userManager.FindByNameAsync(model.Email); if (user == null) { // Don't reveal that the user does not exist return(RedirectToAction(nameof(AccountController.ResetPasswordConfirmation), "Account")); } var token = await _userManager.GeneratePasswordResetTokenAsync(user); var result = await _userManager.ResetPasswordAsync(user, token, model.Password); if (result.Succeeded) { JobCoach jc = _jobCoachRepository.GetByEmail(user.Email); jc.MoetWachtwoordVeranderen = false; _jobCoachRepository.SaveChanges(); TempData["message"] = "Uw wachtwoord werd succesvol aangepast."; return(RedirectToAction(nameof(AccountController.ResetPasswordConfirmation), "Account")); } AddErrors(result); TempData["error"] = "Iets is misgelopen."; return(View()); }
public IActionResult AnimatiesAanUit() { JobCoach jc = _jobCoachRepository.GetByEmail(User.Identity.Name); jc.WilAnimaties = !jc.WilAnimaties; _jobCoachRepository.SaveChanges(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Login(LoginViewModel model, string returnUrl = null) { ViewData["ReturnUrl"] = returnUrl; JobCoach jc = _jobCoachRepository.GetByEmail(model.Email); if (jc == null) { ModelState.AddModelError("Email", "Er is geen gebruiker met dit emailadres geregistreerd"); } if (ModelState.IsValid) { // This doesn't count login failures towards account lockout // To enable password failures to trigger account lockout, set lockoutOnFailure: true var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure : false); if (result.Succeeded) { //_logger.LogInformation(1, "User logged in."); //return RedirectToLocal(returnUrl); if (_jobCoachRepository.GetByEmail(model.Email).MoetWachtwoordVeranderen) { ResetPasswordViewModel myModel = new ResetPasswordViewModel(); myModel.Email = model.Email; return(RedirectToAction(nameof(AccountController.ResetPassword), myModel)); } return(RedirectToAction("Index", "Home")); } if (result.RequiresTwoFactor) { return(RedirectToAction(nameof(SendCode), new { ReturnUrl = returnUrl, RememberMe = model.RememberMe })); } if (result.IsLockedOut) { _logger.LogWarning(2, "User account locked out."); return(View("Lockout")); } ModelState.AddModelError("Password", "Incorrect wachtwoord"); return(View(model)); } // If we got this far, something failed, redisplay form return(View(model)); }
public IActionResult OverzichtMailbox() { AnalyseFilter.ZetSessieLeeg(HttpContext); IEnumerable <InterneMailJobcoach> mails = _interneMailJobcoachRepository.GetAll(User.Identity.Name); JobCoach jc = _jobCoachRepository.GetByEmail(User.Identity.Name); foreach (InterneMailJobcoach m in mails) { m.Jobcoach = jc; } return(View(new OverzichtMailboxViewModel(mails) { WilAnimaties = jc.WilAnimaties })); }
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)); }
public IActionResult ProfielAanpassen() { AnalyseFilter.ZetSessieLeeg(HttpContext); JobCoach jc = _jobCoachRepository.GetByEmail(User.Identity.Name); ProfielAanpassenViewModel model = new ProfielAanpassenViewModel() { Bus = jc.BusBedrijf, Email = jc.Email, Gemeente = jc.GemeenteBedrijf, Naam = jc.Naam, NaamBedrijf = jc.NaamBedrijf, Nummer = jc.NummerBedrijf, Postcode = jc.PostcodeBedrijf, Straat = jc.StraatBedrijf, Voornaam = jc.Voornaam }; return(View(model)); }
public async Task <IActionResult> WachtwoordAanpassen(WachtwoordAanpassenViewModel model) { AnalyseFilter.ZetSessieLeeg(HttpContext); if (ModelState.IsValid) { try { ApplicationUser user = await _userManager.GetUserAsync(User); bool check = await _userManager.CheckPasswordAsync(user, model.OldPassword); if (!check) { ModelState.AddModelError("OldPassword", "Incorrect wachtwoord"); } else { var token = await _userManager.GeneratePasswordResetTokenAsync(user); var result = await _userManager.ResetPasswordAsync(user, token, model.Password); if (result.Succeeded) { JobCoach jc = _jobCoachRepository.GetByEmail(user.Email); jc.MoetWachtwoordVeranderen = false; _jobCoachRepository.SaveChanges(); TempData["message"] = "Uw wachtwoord is succesvol aangepast."; return(RedirectToAction(nameof(ProfielAanpassen))); } ModelState.AddModelError("", "Onze excuses, er is iets verkeerd gelopen."); } } catch (Exception e) { ModelState.AddModelError("", e.Message); } } TempData["error"] = "Uw wachtwoord is niet aangepast."; return(View(new WachtwoordAanpassenViewModel())); }
public IActionResult BeantwoordMail(OverzichtMailboxViewModel model) { AnalyseFilter.ZetSessieLeeg(HttpContext); if (ModelState.IsValid) { try { JobCoach jc = _jobCoachRepository.GetByEmail(User.Identity.Name); Admin admin = _adminRepository.GetByEmail(model.Ontvanger); AdminMail mail = new AdminMail(jc, admin, model.Onderwerp, model.Inhoud, DateTime.Now); _adminMailRepository.Add(mail); _adminMailRepository.SaveChanges(); TempData["message"] = "Uw antwoord werd succesvol verzonden"; return(RedirectToAction(nameof(OverzichtMailbox))); } catch (Exception e) { ModelState.AddModelError("", e.Message); } } TempData["error"] = "Er is iets misgelopen, uw antwoord werd niet verzonden"; return(View(nameof(OverzichtMailbox))); }
public IActionResult GeselecteerdeMail(int id) { AnalyseFilter.ZetSessieLeeg(HttpContext); try { JobCoach jc = _jobCoachRepository.GetByEmail(User.Identity.Name); InterneMailJobcoach mail = _interneMailJobcoachRepository.GetById(User.Identity.Name, id); mail.IsGelezen = true; _interneMailJobcoachRepository.SaveChanges(); mail.Jobcoach = jc; IEnumerable <InterneMailJobcoach> mails = _interneMailJobcoachRepository.GetAll(User.Identity.Name); foreach (InterneMailJobcoach m in mails) { m.Jobcoach = jc; } OverzichtMailboxViewModel model = new OverzichtMailboxViewModel(mails); model.GeopendeMail = new MailViewModel(mail); model.GeopendeMailId = mail.InterneMailId; model.WilAnimaties = jc.WilAnimaties; return(View(nameof(OverzichtMailbox), model)); } catch { } IEnumerable <InterneMailJobcoach> mijnMails = _interneMailJobcoachRepository.GetAll(User.Identity.Name); JobCoach j = _jobCoachRepository.GetByEmail(User.Identity.Name); foreach (InterneMailJobcoach m in mijnMails) { m.Jobcoach = j; } return(View(nameof(OverzichtMailbox), new OverzichtMailboxViewModel(mijnMails) { WilAnimaties = j.WilAnimaties })); }
public void Add(JobCoach jobCoach) { _jobCoaches.Add(jobCoach); }
private bool ControleerOfModelVerandertIs(ProfielAanpassenViewModel model) { JobCoach jc = _jobCoachRepository.GetByEmail(User.Identity.Name); bool isVerandert = (model.Bus == null && jc.BusBedrijf != null) || (model.Bus != null && jc.BusBedrijf == null); if (model.Naam == null) { isVerandert = true; } else if (!model.Naam.Equals(jc.Naam)) { isVerandert = true; } if (model.Voornaam == null) { isVerandert = true; } else if (!model.Voornaam.Equals(jc.Voornaam)) { isVerandert = true; } if (model.NaamBedrijf == null) { isVerandert = true; } else if (!model.NaamBedrijf.Equals(jc.NaamBedrijf)) { isVerandert = true; } if (model.Straat == null) { isVerandert = true; } else if (!model.Straat.Equals(jc.StraatBedrijf)) { isVerandert = true; } if (model.Nummer != jc.NummerBedrijf) { isVerandert = true; } if (model.Postcode != jc.PostcodeBedrijf) { isVerandert = true; } if (model.Gemeente == null) { isVerandert = true; } else if (!model.Gemeente.Equals(jc.GemeenteBedrijf)) { isVerandert = true; } if (model.Bus != null && jc.BusBedrijf != null) { if (!model.Bus.Equals(jc.BusBedrijf)) { isVerandert = true; } } return(isVerandert); }