public async Task <IActionResult> Create([Bind("UserName,UserPass,UserEmail,UserAddress,UserTp")] TUser tUser) { if (ModelState.IsValid) { try { tUser.UserStatus = 1; tUser.ShaEnc(); _context.Add(tUser); await _context.SaveChangesAsync(); TempData["Message"] = "User registered."; return(RedirectToAction(nameof(Index))); } catch (Exception ex) { if (ex.InnerException.ToString().Contains("Violation of UNIQUE KEY constraint")) { ViewBag.Error = "This email is already used. Please use another email address"; } else { ViewBag.Error = "Unable to register this user. Please try agian"; } return(View(tUser)); } } ViewBag.Error = "Unable to register this user. Please try agian"; return(View(tUser)); }
public async Task <IActionResult> LoginMember([Bind("UserEmail,UserPass")] TUser tUser) { try { tUser.ShaEnc(); var user = await _context.TUsers .FirstOrDefaultAsync(e => e.UserEmail == tUser.UserEmail && e.UserPass == tUser.UserPass && e.UserStatus == 1); if (user == null) { TempData["Error"] = "Invalid login credentials"; return(RedirectToAction("Index")); } HttpContext.Session.SetString("UName", user.UserName); HttpContext.Session.SetString("UEmail", user.UserEmail); HttpContext.Session.SetInt32("UID", user.UserId); HttpContext.Session.SetString("UType", (bool)user.UserType ? "C" : "A"); if ((bool)user.UserType) { return(RedirectToAction("Index", "Home")); } else { return(RedirectToAction("Index", "Admin")); } } catch (Exception) { TempData["Error"] = "Error occured during login process. Please try again."; return(RedirectToAction("Index")); } }