public async Task <IActionResult> Edit(EditViewModel model, string returnUrl = null)
        {
            if (ModelState.IsValid)
            {
                ArbeidsBemiddelaar a = _arbeidsBemiddelaarRepository.GetArbeidsBemiddelaar(User.Identity.Name);
                a.Naam     = model.Naam;
                a.Voornaam = model.Voornaam;
                a.Email    = model.Email;
                a.EigenOrganisatie.Naam       = model.NaamOrganisatie;
                a.EigenOrganisatie.Straat     = model.Straat;
                a.EigenOrganisatie.Huisnummer = model.Huisnummer;
                a.EigenOrganisatie.Postcode   = model.Postcode;
                a.EigenOrganisatie.Gemeente   = model.Gemeente;
                _arbeidsBemiddelaarRepository.SaveChanges();
                ApplicationUser userApp = await _userManager.GetUserAsync(User);

                userApp.Naam     = model.Naam;
                userApp.Voornaam = model.Voornaam;
                await _userManager.UpdateAsync(userApp);

                TempData["message"] = "Je gegevens werden succesvol gewijzigd.";
                return(RedirectToAction(nameof(AnalyseController.Index), "Home"));
            }
            return(View(model));
        }
Example #2
0
 public EditViewModel(ArbeidsBemiddelaar a) : this()
 {
     Naam            = a.Naam;
     Voornaam        = a.Voornaam;
     Email           = a.Email;
     NaamOrganisatie = a.EigenOrganisatie.Naam;
     Straat          = a.EigenOrganisatie.Straat;
     Huisnummer      = a.EigenOrganisatie.Huisnummer;
     Postcode        = a.EigenOrganisatie.Postcode;
     Gemeente        = a.EigenOrganisatie.Gemeente;
 }
        public async Task <IActionResult> Register(RegisterViewModel model, string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;
            ArbeidsBemiddelaar test = _arbeidsBemiddelaarRepository.GetArbeidsBemiddelaar(model.Email);

            if (test != null)
            {
                ModelState.AddModelError("EmailGer", "U bent reeds geregistreerd.");
            }
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email, Naam = model.Naam, Gemeente = model.Gemeente, Voornaam = model.Voornaam, Postcode = model.Postcode, Huisnummer = model.Huisnummer, Straat = model.Straat, NaamOrganisatie = model.NaamOrganisatie
                };
                ArbeidsBemiddelaar arbeidsBemiddelaar = new ArbeidsBemiddelaar(model.Naam, model.Voornaam, model.Email, new Organisatie(model.NaamOrganisatie, model.Straat, model.Huisnummer, model.Postcode, model.Gemeente));
                _arbeidsBemiddelaarRepository.Add(arbeidsBemiddelaar);
                var result = await _userManager.CreateAsync(user, generateRandomPassword());

                if (result.Succeeded)
                {
                    var code = await _userManager.GeneratePasswordResetTokenAsync(user);

                    var callbackUrl = Url.Action(nameof(ResetPassword), "Account",
                                                 new { userId = user.Id, code = code, email = model.Email }, protocol: HttpContext.Request.Scheme);
                    MimeMessage emailMessage = new MimeMessage();
                    emailMessage.Subject = "Welkom bij KAIROS\' kosten-baten tool!";
                    BodyBuilder builder = new BodyBuilder();
                    builder.HtmlBody  = @"<div style='background-color:#9CCD0B;color:white;padding-left:7%;padding-right:7%;padding-top:5%;padding-bottom:5%;font-family:Arial, Helvetica;color:#555555;font-size:14px;'>
                        <div style='background-color:rgba(255,255,255, 0.74);padding:7%; border-radius:5px;'> <img style='text-align:center' src='https://static.wixstatic.com/media/192f9b_a49f1a3533c149a2a803ee4ab519ef2e~mv2.png/v1/crop/x_2,y_0,w_1257,h_515/fill/w_500,h_205,al_c,usm_0.66_1.00_0.01/192f9b_a49f1a3533c149a2a803ee4ab519ef2e~mv2.png' alt='Logo Kairos' height='40px'/>
                        <br><br><b>Beste " + $"{model.Voornaam}" + @"</b>
                        <p>Leuk dat je gebruik wil maken van onze tool om werkgevers meer inzicht te geven in de kosten en baten bij het tewerkstellen van personen met een grote afstand tot de arbeidsmarkt.</p>
                        <p>Gelieve je registratie te voltooien via deze <a href='" + $"{callbackUrl}" + @"'>link</a>.</p>
                        <p>Veel succes met het gebruik van onze tool!</p>
                        <p>Wil je meer weten over wie we zijn en wat we doen, surf naar www.hetmomentvooriedereen.be.</p>
                        <p>Hartelijke groet</p>
                        <p>Het team van KAIROS</p>
</div>
                        </div>";
                    emailMessage.Body = builder.ToMessageBody();
                    await _emailService.SendEmailAsync("*****@*****.**", model.Email, emailMessage);

                    // Comment out following line to prevent a new user automatically logged on.
                    //await _signInManager.SignInAsync(user, isPersistent: false);
                    _logger.LogInformation(3, "User created a new account with password.");
                    return(View("RegisterConfirmed"));
                }
                AddErrors(result);
            }
            return(View(model));
        }
        public async Task <IActionResult> ForgotPassword(ForgotPasswordViewModel model)
        {
            ArbeidsBemiddelaar test = _arbeidsBemiddelaarRepository.GetArbeidsBemiddelaar(model.Email);

            if (test == null)
            {
                ModelState.AddModelError("WWVergeten", "Uw e-mailadres werd niet gevonden.");
            }
            if (ModelState.IsValid)
            {
                var user = await _userManager.FindByNameAsync(model.Email);

                if (user == null)
                {
                    // Don't reveal that the user does not exist or is not confirmed
                    return(View("ForgotPasswordConfirmation"));
                }
                // 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.GeneratePasswordResetTokenAsync(user);

                var         callbackUrl  = Url.Action("ResetPassword", "Account", new { userId = user.Id, code = code, email = model.Email }, protocol: HttpContext.Request.Scheme);
                MimeMessage emailMessage = new MimeMessage();
                emailMessage.Subject = "Paswoord KAIROS kosten-baten tool vergeten";
                BodyBuilder builder = new BodyBuilder();
                builder.HtmlBody  = @"
                 <div style='background-color:#9CCD0B;color:white;padding-left:7%;padding-right:7%;padding-top:5%;padding-bottom:5%;font-family:Arial, Helvetica;color:#555555;font-size:14px;'>
                        <div style='background-color:rgba(255,255,255, 0.74);padding:7%; border-radius:5px;'> <img src='https://static.wixstatic.com/media/192f9b_a49f1a3533c149a2a803ee4ab519ef2e~mv2.png/v1/crop/x_2,y_0,w_1257,h_515/fill/w_500,h_205,al_c,usm_0.66_1.00_0.01/192f9b_a49f1a3533c149a2a803ee4ab519ef2e~mv2.png' alt='Logo Kairos' height='40px'/>
                 <br><br><b>Beste " + $"{user.Voornaam}" + @"</b>
                 <p>Je hebt aangegeven dat je jouw paswoord vergeten bent.</p>
                 <p>Via deze <a href='" + $"{callbackUrl}" + @"'>link</a> kan je een nieuw paswoord aanmaken.</p>
                 <p>Hartelijke groet</p>
                 <p>Het team van KAIROS</p>
</div>
</div>";
                emailMessage.Body = builder.ToMessageBody();
                await _emailService.SendEmailAsync("*****@*****.**", model.Email, emailMessage);

                return(View("ForgotPasswordConfirmation"));
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
        public async Task <IActionResult> Login(LoginViewModel model, string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;
            ArbeidsBemiddelaar test = _arbeidsBemiddelaarRepository.GetArbeidsBemiddelaar(model.Email);

            if (test == null)
            {
                ModelState.AddModelError("EmailReg", "Uw e-mailadres is onjuist, bent u al geregistreerd?");
            }
            if (ModelState.IsValid)
            {
                var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, isPersistent : false, lockoutOnFailure : false);

                if (result.Succeeded)
                {
                    _logger.LogInformation(1, "User logged in.");
                    var user = await _userManager.FindByNameAsync(model.Email);

                    return(RedirectToLocal(returnUrl));
                }
                if (result.RequiresTwoFactor)
                {
                    return(RedirectToAction(nameof(SendCode), new { ReturnUrl = returnUrl }));
                }
                if (result.IsLockedOut)
                {
                    _logger.LogWarning(2, "User account locked out.");
                    return(View("Lockout"));
                }
                else
                {
                    ModelState.AddModelError("EmailReg", "Uw wachtwoord is onjuist");
                    return(View(model));
                }
            }

            return(View(model));
        }
 public void Delete(ArbeidsBemiddelaar arbeidsBemiddelaar)
 {
     _arbeidsBemiddelaars.Remove(arbeidsBemiddelaar);
 }
 public void Add(ArbeidsBemiddelaar arbeidsBemiddelaar)
 {
     _arbeidsBemiddelaars.Add(arbeidsBemiddelaar);
 }
        public IActionResult Edit()
        {
            ArbeidsBemiddelaar a = _arbeidsBemiddelaarRepository.GetArbeidsBemiddelaar(User.Identity.Name);

            return(View(new EditViewModel(a)));
        }