public ActionResult Register(Models.PasgoUser userModel) { using (PasGoEntities db = new PasGoEntities()) { //Nên để thành 1 private riêng cho chức năng InsertUser //Chuyển thành switch if (ModelState.IsValid) { userModel.Salt = CreatSalt(); userModel.PasswordHashed = Hashed(userModel.Password, userModel.Salt); //Not part of the model for the current context var result = Convert.ToInt32(db.InsertUser(userModel.FullName, userModel.PhoneNumber, userModel.Email, true, userModel.Salt, userModel.PasswordHashed).ToList().ElementAt(0)); if (result == 0) { TempData["Failed"] = "Đã có người sử dụng số điện thoại này, vui lòng nhập số điện thoại khác."; return(View("Register", userModel)); } if (result == 1) { TempData["Failed"] = "Đã có người sử dụng Email này, vui lòng nhập Email khác."; return(View("Register", userModel)); } TempData["Success"] = "Đăng ký thành công"; } else { TempData["Failed"] = "Đăng ký thất bại"; return(View("Register", userModel)); } } ModelState.Clear(); return(View("Register", new PasgoUser())); }
public ActionResult Login(Models.PasgoUser userModel) { using (PasGoEntities db = new PasGoEntities()) { if (db.Salt(userModel.PhoneNumber).Count() == 0) { TempData["Failed"] = "Tên đăng nhập hoặc mật khẩu không đúng"; return(View()); } string salt = db.Salt(userModel.PhoneNumber).ElementAt(0).ToString(); string hash = Hashed(userModel.Password, salt); if (db.Login(userModel.PhoneNumber, hash).Count() == 0) { TempData["Failed"] = "Tên đăng nhập hoặc mật khẩu không đúng"; return(View("Login")); } else { var userDetails = db.Login(userModel.PhoneNumber, hash).ElementAt(0); Session["PasgoID"] = userDetails.PasgoID; Session["FullName"] = userDetails.FullName; Session["PhoneNumber"] = userDetails.PhoneNumber; Session["Email"] = userDetails.Email; Session["DOB"] = userDetails.DOB; Session["Gender"] = userDetails.Gender_; for (int i = 0; i < Session.Contents.Count; i++) { System.Diagnostics.Trace.WriteLine(Session.Keys[i] + " - " + Session[i]); } FormsAuthentication.SetAuthCookie(userModel.PhoneNumber, true); if (userDetails.Level != 1) { Session["Level"] = userDetails.Level; return(RedirectToAction("Authentication", "Admin", userDetails)); } if (userDetails.Locked != null && userDetails.Locked > DateTime.Now) { TempData["Failed"] = "Tài khoản bị khóa, vui lòng liên hệ CSKH!"; return(RedirectToAction("Login")); } return(RedirectToAction("Index", "Home")); } } }