Advertisement
Guest User

Untitled

a guest
Oct 27th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.71 KB | None | 0 0
  1. @using (Html.BeginForm("Register", "User", FormMethod.Post))
  2. {
  3. <div>
  4. @Html.TextBoxFor(m => m.FirstName, new { placeholder = "First name", @class = "form-control", @type = "text" })
  5. </div>
  6. <div>
  7. @Html.TextBoxFor(m => m.LastName, new { placeholder = "Last name", @class = "form-control", @type = "text" })
  8. </div>
  9. <div>
  10. @Html.TextBoxFor(m => m.Email, new { placeholder = "Email", @class = "form-control", @type = "email" })
  11. </div>
  12. <div>
  13. @Html.TextBoxFor(m => m.Password, new { placeholder = "Password", @class = "form-control", @type = "password" })
  14. </div>
  15. <div>
  16. @Html.TextBoxFor(m => m.PasswordConfirm, new { placeholder = "Confirm password", @class = "form-control", @type = "password" })
  17. </div>
  18. <div>
  19. @Html.DropDownListFor(model => model.SelectedCountryId, Model.Countries, new { @class="select2_single form-control select2-hidden-accessible", @tabindex = "-1" })
  20. </div>
  21. <div>
  22. <input class="btn btn-default submit" type="submit" value="Register" />
  23. </div>
  24. }
  25.  
  26. public class UserRegistrationViewModel
  27. {
  28. [Required(ErrorMessage = "First name is required!")]
  29. public string FirstName { get; set; }
  30.  
  31. [Required(ErrorMessage = "Last name is required!")]
  32. public string LastName { get; set; }
  33.  
  34. [Required(ErrorMessage = "Email name is required!")]
  35. public string Email { get; set; }
  36.  
  37. [Required(ErrorMessage = "Password name is required!")]
  38. public string Password { get; set; }
  39.  
  40. [Required(ErrorMessage = "Password confirmation name is required!")]
  41. public string PasswordConfirm { get; set; }
  42. public int SelectedCountryId { get; set; }
  43.  
  44. [Required(ErrorMessage = "Country needs to be selected!")]
  45. public SelectList Countries { get; set; }
  46.  
  47.  
  48. }
  49.  
  50. public ActionResult Index()
  51. {
  52. var model = new UserRegistrationViewModel();
  53. var countries = Connection.ctx.Countries.OrderBy(x => x.CountryName).ToList();
  54. model.Countries = new SelectList(countries, "CountryId", "CountryName");
  55. return View(model);
  56. }
  57. [HttpPost]
  58.  
  59. public ActionResult Register(UserRegistrationViewModel model)
  60. {
  61. if (ModelState.IsValid)
  62. {
  63. var user = new Users();
  64. user.FirstName = model.FirstName;
  65. user.LastName =model.LastName;
  66. user.Email = model.Email;
  67. user.PasswordSalt = Helpers.PasswordHelper.CreateSalt(40);
  68. user.PasswordHash = Helpers.PasswordHelper.CreatePasswordHash(model.Password, user.PasswordSalt);
  69. user.CountryId = Convert.ToInt32(model.SelectedCountryId);
  70. user.Active = true;
  71. Connection.ctx.Users.Add(user);
  72. Connection.ctx.SaveChanges();
  73. var role = new UserRoles();
  74. role.RoleId = 2;
  75. role.UserId = user.UserId;
  76. role.Active = true;
  77. user.UserRoles.Add(role);
  78. Connection.ctx.SaveChanges();
  79. return RedirectToAction("Index");
  80. }
  81. return null;
  82.  
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement