Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private readonly LoginDemoEntities _context;
- public LoginController()
- {
- _context = new LoginDemoEntities();
- }
- public ActionResult Index()
- {
- // This is just to check that session is destryed and logout is successfull
- var user = Session["User"];
- SetMesssages();
- var loginViewModel = new LoginViewModel();
- return View(loginViewModel);
- }
- private void SetMesssages()
- {
- if (TempData["SuccessMessage"] != null)
- {
- ViewBag.SuccessMessage = TempData["SuccessMessage"];
- }
- if (TempData["ErrorMessage"] != null)
- {
- ViewBag.ErrorMessage = TempData["ErrorMessage"];
- }
- }
- [HttpPost]
- public ActionResult Index(LoginViewModel model)
- {
- var user = _context.UserMasters
- .FirstOrDefault(m => m.Email.Equals(model.Email) && m.Password.Equals(model.Password));
- // if the user is null then login unsuccessful
- if (user == null)
- {
- TempData["ErrorMessage"] = "Invalid email or password.";
- return RedirectToAction("Index");
- }
- else
- {
- Session["User"] = user;
- return RedirectToAction("Index", "Home");
- }
- }
- public ActionResult Registration()
- {
- SetMesssages();
- var registrationViewModel = new RegistrationViewModel();
- return View(registrationViewModel);
- }
- [HttpPost]
- public ActionResult Registration(RegistrationViewModel model)
- {
- if (ModelState.IsValid)
- {
- var userMaster = new UserMaster
- {
- Name = model.Name,
- Email = model.Email,
- Password = model.Password
- };
- try
- {
- _context.UserMasters.Add(userMaster);
- _context.SaveChanges();
- TempData["SuccessMessage"] = "User created successfully. Please login!";
- return RedirectToAction("Index");
- }
- catch (Exception ex)
- {
- TempData["ErrorMessage"] = "Something went wrong! " + ex.Message;
- return RedirectToAction("Registration");
- }
- }
- return View("Registration");
- }
- public ActionResult Logout()
- {
- if (Session["User"] != null)
- {
- // Session.Timeout = 1000; // You just need to fihure out where to put this
- Session["User"] = null;
- Session.Abandon();
- }
- return RedirectToAction("Index");
- }
- [Required]
- [DataType(DataType.EmailAddress)]
- [EmailAddress]
- public string Email { get; set; }
- [Required]
- public string Password { get; set; }
- [Required]
- [StringLength(50)]
- public string Name { get; set; }
- [Required]
- [StringLength(50)]
- [EmailAddress]
- public string Email { get; set; }
- [Required]
- [StringLength(15)]
- public string Password { get; set; }
- [Required]
- [Compare("Password")]
- public string ConfirmPassword { get; set; }
- BaseController
- protected override void OnActionExecuting(ActionExecutingContext filterContext)
- {
- if(Session["User"] == null)
- {
- filterContext.Result = RedirectToAction("Index","Login");
- }
- base.OnActionExecuting(filterContext);
- }
Add Comment
Please, Sign In to add comment