예제 #1
0
 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"));
         }
     }
 }