Guest User

Untitled

a guest
Mar 19th, 2018
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.98 KB | None | 0 0
  1. Register.cshtml.cs
  2. using System.Threading.Tasks;
  3. using Microsoft.AspNetCore.Identity;
  4. using Microsoft.AspNetCore.Mvc;
  5. using Microsoft.AspNetCore.Mvc.RazorPages;
  6. using Microsoft.Extensions.Logging;
  7. using FarmMart.Data;
  8. using FarmMart.Services;
  9. using FarmMart.Models.RegisterForms;
  10. using Microsoft.AspNetCore.Authorization;
  11.  
  12. public class RegisterModel : PageModel
  13. {
  14. private readonly SignInManager<ApplicationUser> _signInManager;
  15. private readonly UserManager<ApplicationUser> _userManager;
  16. private readonly ILogger<LoginModel> _logger;
  17. private readonly IEmailSender _emailSender;
  18.  
  19. public RegisterModel(
  20. UserManager<ApplicationUser> userManager,
  21. SignInManager<ApplicationUser> signInManager,
  22. ILogger<LoginModel> logger,
  23. IEmailSender emailSender)
  24. {
  25. _userManager = userManager;
  26. _signInManager = signInManager;
  27. _logger = logger;
  28. _emailSender = emailSender;
  29. }
  30.  
  31. Public class RegisterFormsModel
  32. {
  33. internal static string Password = null;
  34. internal string UserName = null;
  35. internal string Email = null;
  36.  
  37. public Lecturer Lecturer { get; set; }
  38. public Department1 Department1 { get; set; }
  39. public Department2 Department2 { get; set; }
  40. public Department3 Department3 { get; set; }
  41. public Department4 Department4 { get; set; }
  42. public Department5 Department5 { get; set; }
  43. public Department6 Department6 { get; set; }
  44. public Department7 Department7 { get; set; }
  45. public Department8 Department8 { get; set; }
  46. public Department9 Department9 { get; set; }
  47. public Department10 Department10 { get; set; }
  48. public Department11 Department11 { get; set;
  49. }
  50.  
  51. public void OnGet(string returnUrl = null)
  52. {
  53. ReturnUrl = returnUrl;
  54. }
  55.  
  56.  
  57. public async Task<IActionResult> OnPostAsync(string returnUrl = null)
  58. {
  59. ReturnUrl = returnUrl;
  60. if (ModelState.IsValid)
  61. {
  62. var user = new ApplicationUser
  63. {
  64. UserName = Register.UserName, Email = Register.Email,
  65. };
  66. var result = await _userManager.CreateAsync(user, RegisterFormsModel.Password);
  67. if (result.Succeeded)
  68. {
  69. _logger.LogInformation("User created a new account with password.");
  70.  
  71. var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);
  72. var callbackUrl = Url.EmailConfirmationLink(user.Id, code, Request.Scheme);
  73. await _emailSender.SendEmailConfirmationAsync(Register.Email, callbackUrl);
  74.  
  75. await _signInManager.SignInAsync(user, isPersistent: false);
  76. return LocalRedirect(Url.GetLocalUrl(returnUrl));
  77. }
  78. foreach (var error in result.Errors)
  79. {
  80. ModelState.AddModelError(string.Empty, error.Description);
  81. }
  82. }
  83.  
  84. // If we got this far, something failed, redisplay form
  85. return Page();
  86. }
Add Comment
Please, Sign In to add comment