Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Register.cshtml.cs
- using System.Threading.Tasks;
- using Microsoft.AspNetCore.Identity;
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.AspNetCore.Mvc.RazorPages;
- using Microsoft.Extensions.Logging;
- using FarmMart.Data;
- using FarmMart.Services;
- using FarmMart.Models.RegisterForms;
- using Microsoft.AspNetCore.Authorization;
- public class RegisterModel : PageModel
- {
- private readonly SignInManager<ApplicationUser> _signInManager;
- private readonly UserManager<ApplicationUser> _userManager;
- private readonly ILogger<LoginModel> _logger;
- private readonly IEmailSender _emailSender;
- public RegisterModel(
- UserManager<ApplicationUser> userManager,
- SignInManager<ApplicationUser> signInManager,
- ILogger<LoginModel> logger,
- IEmailSender emailSender)
- {
- _userManager = userManager;
- _signInManager = signInManager;
- _logger = logger;
- _emailSender = emailSender;
- }
- Public class RegisterFormsModel
- {
- internal static string Password = null;
- internal string UserName = null;
- internal string Email = null;
- public Lecturer Lecturer { get; set; }
- public Department1 Department1 { get; set; }
- public Department2 Department2 { get; set; }
- public Department3 Department3 { get; set; }
- public Department4 Department4 { get; set; }
- public Department5 Department5 { get; set; }
- public Department6 Department6 { get; set; }
- public Department7 Department7 { get; set; }
- public Department8 Department8 { get; set; }
- public Department9 Department9 { get; set; }
- public Department10 Department10 { get; set; }
- public Department11 Department11 { get; set;
- }
- public void OnGet(string returnUrl = null)
- {
- ReturnUrl = returnUrl;
- }
- public async Task<IActionResult> OnPostAsync(string returnUrl = null)
- {
- ReturnUrl = returnUrl;
- if (ModelState.IsValid)
- {
- var user = new ApplicationUser
- {
- UserName = Register.UserName, Email = Register.Email,
- };
- var result = await _userManager.CreateAsync(user, RegisterFormsModel.Password);
- if (result.Succeeded)
- {
- _logger.LogInformation("User created a new account with password.");
- var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);
- var callbackUrl = Url.EmailConfirmationLink(user.Id, code, Request.Scheme);
- await _emailSender.SendEmailConfirmationAsync(Register.Email, callbackUrl);
- await _signInManager.SignInAsync(user, isPersistent: false);
- return LocalRedirect(Url.GetLocalUrl(returnUrl));
- }
- foreach (var error in result.Errors)
- {
- ModelState.AddModelError(string.Empty, error.Description);
- }
- }
- // If we got this far, something failed, redisplay form
- return Page();
- }
Add Comment
Please, Sign In to add comment