Guest User

Untitled

a guest
Nov 29th, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.88 KB | None | 0 0
  1. private readonly LoginDemoEntities _context;
  2.  
  3. public LoginController()
  4. {
  5. _context = new LoginDemoEntities();
  6. }
  7.  
  8. public ActionResult Index()
  9. {
  10. // This is just to check that session is destryed and logout is successfull
  11. var user = Session["User"];
  12.  
  13. SetMesssages();
  14.  
  15. var loginViewModel = new LoginViewModel();
  16. return View(loginViewModel);
  17. }
  18.  
  19. private void SetMesssages()
  20. {
  21. if (TempData["SuccessMessage"] != null)
  22. {
  23. ViewBag.SuccessMessage = TempData["SuccessMessage"];
  24. }
  25.  
  26. if (TempData["ErrorMessage"] != null)
  27. {
  28. ViewBag.ErrorMessage = TempData["ErrorMessage"];
  29. }
  30. }
  31.  
  32. [HttpPost]
  33. public ActionResult Index(LoginViewModel model)
  34. {
  35. var user = _context.UserMasters
  36. .FirstOrDefault(m => m.Email.Equals(model.Email) && m.Password.Equals(model.Password));
  37.  
  38. // if the user is null then login unsuccessful
  39. if (user == null)
  40. {
  41. TempData["ErrorMessage"] = "Invalid email or password.";
  42. return RedirectToAction("Index");
  43. }
  44. else
  45. {
  46. Session["User"] = user;
  47. return RedirectToAction("Index", "Home");
  48. }
  49. }
  50.  
  51. public ActionResult Registration()
  52. {
  53. SetMesssages();
  54. var registrationViewModel = new RegistrationViewModel();
  55. return View(registrationViewModel);
  56. }
  57.  
  58. [HttpPost]
  59. public ActionResult Registration(RegistrationViewModel model)
  60. {
  61. if (ModelState.IsValid)
  62. {
  63. var userMaster = new UserMaster
  64. {
  65. Name = model.Name,
  66. Email = model.Email,
  67. Password = model.Password
  68. };
  69.  
  70. try
  71. {
  72. _context.UserMasters.Add(userMaster);
  73. _context.SaveChanges();
  74.  
  75. TempData["SuccessMessage"] = "User created successfully. Please login!";
  76. return RedirectToAction("Index");
  77. }
  78. catch (Exception ex)
  79. {
  80. TempData["ErrorMessage"] = "Something went wrong! " + ex.Message;
  81. return RedirectToAction("Registration");
  82. }
  83. }
  84. return View("Registration");
  85. }
  86.  
  87. public ActionResult Logout()
  88. {
  89. if (Session["User"] != null)
  90. {
  91. // Session.Timeout = 1000; // You just need to fihure out where to put this
  92. Session["User"] = null;
  93. Session.Abandon();
  94. }
  95.  
  96. return RedirectToAction("Index");
  97. }
  98.  
  99.  
  100. [Required]
  101. [DataType(DataType.EmailAddress)]
  102. [EmailAddress]
  103. public string Email { get; set; }
  104.  
  105. [Required]
  106. public string Password { get; set; }
  107.  
  108.  
  109. [Required]
  110. [StringLength(50)]
  111. public string Name { get; set; }
  112.  
  113. [Required]
  114. [StringLength(50)]
  115. [EmailAddress]
  116. public string Email { get; set; }
  117.  
  118. [Required]
  119. [StringLength(15)]
  120. public string Password { get; set; }
  121.  
  122. [Required]
  123. [Compare("Password")]
  124. public string ConfirmPassword { get; set; }
  125.  
  126. BaseController
  127.  
  128. protected override void OnActionExecuting(ActionExecutingContext filterContext)
  129. {
  130. if(Session["User"] == null)
  131. {
  132. filterContext.Result = RedirectToAction("Index","Login");
  133. }
  134.  
  135. base.OnActionExecuting(filterContext);
  136. }
Add Comment
Please, Sign In to add comment