public async Task <IActionResult> RegisterNonRdw(RegisterNonRdwViewModel model, string returnUrl = null) { ViewData["ReturnUrl"] = returnUrl; if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email, Name = model.Name, Organisation = model.Organisation }; var password = "******" + Guid.NewGuid().ToString("d").Substring(1, 15); var result = await _userManager.CreateAsync(user, password); if (result.Succeeded) { _logger.LogInformation("User created a new account with password."); var code = await _userManager.GeneratePasswordResetTokenAsync(user); var callbackUrl = Url.ResetPasswordCallbackLink(user.Id, code, Request.Scheme); await _emailSender.SendEmailAsync(model.Email, "Welkom bij de RDW Techday", $"Wij hebben een account voor u aangemaakt. Om daar toegang toe te krijgen dient u via de volgende link een wachtwoord in te stellen: <a href='{callbackUrl}'>link</a>"); return(RedirectToLocal(returnUrl)); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
public async Task <IActionResult> RegisterNonRdw(RegisterNonRdwViewModel model, string returnUrl = null) { ViewData["ReturnUrl"] = returnUrl; if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email, Name = model.Name, Organisation = model.Organisation }; user.isRDW = false; var password = "******" + Guid.NewGuid().ToString("d").Substring(1, 15); var result = await _userManager.CreateAsync(user, password); if (result.Succeeded) { await _userManager.AddToRoleAsync(user, "User"); await user.AddTijdvakkenAsync(_context); await _context.SaveChangesAsync(); _logger.LogInformation("User created a new account with password."); var code = await _userManager.GeneratePasswordResetTokenAsync(user); var callbackUrl = Url.RegisterNonRDWCallbackLink(user.Id, code, Request.Scheme); var loginurl = Url.LoginLink(Request.Scheme); var privacyurl = Url.PrivacyLink(Request.Scheme); string htmlMessage = $"Beste {user.Name},<br/><br/>Wij hebben een account voor u aangemaakt waarmee u zich kunt registreren voor sessies op de RDW Techday. Om toegang te krijgen, dient u een nieuw wachtwoord in te stellen via de volgende <a href='{callbackUrl}'>link</a>." + $"<br/><br/>LET OP: Bovenstaande link werkt eenmalig. Indien u deze mail al heeft bevestigd, dan kan kan u <a href='{loginurl}'>hier inloggen</a>." + $"<br/><br/><br/>Met vriendelijke groet,<br/><br/>RDW Techday" + $"<br/><br/><br/>Zie ook onze <a href='{privacyurl}'>privacyverklaring</a>"; string plainMessage = $"Beste {user.Name}" + Environment.NewLine + Environment.NewLine + $"Wij hebben een account voor u aangemaakt waarmee u zich kunt registreren voor sessies op de RDW Techday. Om toegang te krijgen, dient u een nieuw wachtwoord in te stellen via de volgende link: {callbackUrl}" + Environment.NewLine + Environment.NewLine + $"LET OP: Bovenstaande link werkt eenmalig. Indien u deze mail al heeft bevestigd, dan kan kan u hier inloggen: {loginurl}" + Environment.NewLine + Environment.NewLine + Environment.NewLine + $"Met vriendelijke groet," + Environment.NewLine + Environment.NewLine + $"RDW Techday" + Environment.NewLine + Environment.NewLine + $"Zie ook onze privacyverklaring: {privacyurl}"; await _emailSender.SendEmailAsync(model.Email, "Welkom bij de RDW Techday", plainMessage, htmlMessage); return(Redirect(nameof(RegisterNonRdwConfirmation))); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }