Exemple #1
0
        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 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));
        }
Exemple #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));
        }