Guest User

Untitled

a guest
Jan 29th, 2018
491
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.83 KB | None | 0 0
  1. public class UserNewViewModel
  2. {
  3. public UserNewViewModel()
  4. {
  5.  
  6. }
  7. public UserNewViewModel(Domain.User user)
  8. {
  9. NormalizedEmail = user.NormalizedEmail;
  10. UserName = user.UserName;
  11. Password = string.Empty;
  12. Email = user.Email;
  13. FirstName = user.FirstName;
  14. LastName = user.LastName;
  15. }
  16. public string NormalizedEmail { get; set; }
  17. public string UserName { get; set; }
  18. /*[Required]
  19. [MinLength(8)]*/
  20. public string Password { get; set; }
  21. [Required]
  22. [EmailAddress]
  23. public string Email { get; set; }
  24. [Required]
  25. public string FirstName { get; set; }
  26. [Required]
  27. public string LastName { get; set; }
  28. public string Disabled { get; set; }
  29. }
  30.  
  31. [HttpPost]
  32. //[AllowAnonymous]
  33. [ValidateAntiForgeryToken]
  34. public async Task<IActionResult> RegisterUser(ViewModels.UserNewViewModel model)
  35. {
  36. if (ModelState.IsValid)
  37. {
  38. if(string.IsNullOrEmpty(model.UserName))
  39. {
  40. model.UserName = model.Email;
  41. }
  42. var existingUser = _BygBookDataContext.Users.FirstOrDefault(u => u.NormalizedEmail.Equals(model.NormalizedEmail));
  43. if(existingUser == null)
  44. {
  45. existingUser = new Domain.User(){
  46. UserName = model.UserName,
  47. Email = model.Email
  48. };
  49.  
  50. await _userManager.CreateAsync(existingUser, model.Password);
  51.  
  52. }
  53. else
  54. {
  55. existingUser.UserName = model.UserName;
  56. existingUser.FirstName = model.FirstName;
  57. existingUser.LastName = model.LastName;
  58. existingUser.Email = model.Email;
  59.  
  60. await _userManager.UpdateAsync(existingUser);
  61.  
  62. _BygBookDataContext.SaveChanges();
  63.  
  64. if(!string.IsNullOrEmpty(model.Password))
  65. {
  66. var pwToken = await _userManager.GeneratePasswordResetTokenAsync(existingUser);
  67.  
  68. await _userManager.ResetPasswordAsync(existingUser, pwToken, model.Password);
  69.  
  70. _BygBookDataContext.SaveChanges();
  71. }
  72. }
  73.  
  74.  
  75. return PartialView("UserNewPartial", existingUser);
  76. }
  77.  
  78. // If we got this far, something failed, redisplay form
  79. return PartialView(model);
  80. }
  81.  
  82. await _userManager.CreateAsync(existingUser, model.Password);
  83.  
  84. await userMan.CreateAsync(new Domain.User{
  85. UserName = "teknik@bygbook.dk",
  86. Email = "teknik@bygbook.dk",
  87. FirstName ="Teknik",
  88. LastName = string.Empty,
  89. EmailConfirmed = true
  90. },
  91. adminPassword);
Add Comment
Please, Sign In to add comment