Exemple #1
0
        public ActionResult Login(string email, string password, string returnUrl)
        {
            var tutor   = model.tutors.FirstOrDefault(x => x.email == email || x.username == email);
            var student = model.students.FirstOrDefault(x => x.email == email || x.username == email);
            var parent  = model.parents.FirstOrDefault(x => x.email == email || x.username == email);

            password = commonService.hash(password);
            if (tutor != null)
            {
                if (tutor.password.Equals(password))
                {
                    //check status of account
                    if (tutor.status == 1)
                    {
                        var        jwt      = new JWT();
                        JSONObject dataUser = jwt.DataJSON(tutor);
                        string     token    = jwt.TokenStream(dataUser);
                        Session["FullName"] = tutor.fullname;
                        Session["UserID"]   = tutor.tutor_id;
                        Session["username"] = tutor.username;
                        Session["Role"]     = "tutor";
                        Session.Timeout     = 180;
                        if (TempData["returnUrl"] != null && !string.IsNullOrWhiteSpace(TempData["returnUrl"].ToString()))
                        {
                            return(Json(new { url = TempData["returnUrl"].ToString(), TokenContext = token }, JsonRequestBehavior.AllowGet));
                        }
                        else
                        {
                            return(Json(new { url = "Tutor/InfoOfTutor", TokenContext = token }, JsonRequestBehavior.AllowGet));
                        }
                    }

                    if (tutor.status == 3)
                    {
                        ViewBag.msg1 = "Tài khoản của bạn đã bị khóa , vui lòng liên hệ ban quản trị hệ thống";
                        return(Json(new { error = "Block", message = ViewBag.msg1, status = 3 }, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        ViewBag.msg = "Tài khoản của bạn chưa được kích hoạt";
                        return(Json(new { error = "No Access", message = ViewBag.msg, status = 0 }, JsonRequestBehavior.AllowGet));
                    }
                }
                else
                {
                    ViewBag.msg = "Mật khẩu sai rồi !";
                    return(Json(new { error = "No Access", message = ViewBag.msg, status = 0 }, JsonRequestBehavior.AllowGet));
                }
            }
            if (student != null)
            {
                if (student.password.Equals(password))
                {
                    if (student.status == 1)
                    {
                        var        jwt      = new JWT();
                        JSONObject dataUser = jwt.DataJSON(student);
                        string     token    = jwt.TokenStream(dataUser);
                        Session["FullName"] = student.fullname;
                        Session["username"] = student.username;
                        Session["UserID"]   = student.student_id;
                        Session["username"] = student.username;
                        Session["Role"]     = "student";
                        Session.Timeout     = 180;
                        if (TempData["returnUrl"] != null && !string.IsNullOrWhiteSpace(TempData["returnUrl"].ToString()))
                        {
                            return(Json(new { url = TempData["returnUrl"].ToString(), TokenContext = token }, JsonRequestBehavior.AllowGet));
                        }
                        else
                        {
                            return(Json(new { url = "Student/InfoOfStudent", TokenContext = token }, JsonRequestBehavior.AllowGet));
                        }
                    }
                    if (student.status == 2)
                    {
                        ViewBag.msg = "Tài khoản của bạn chưa được kích hoạt";
                        return(Json(new { error = "No Access", message = ViewBag.msg, status = 2 }, JsonRequestBehavior.AllowGet));
                    }
                    if (student.status == 3)
                    {
                        ViewBag.msg1 = "Tài khoản của bạn đã bị khóa , vui lòng liên hệ ban quản trị hệ thống";
                        return(Json(new { error = "No Access", message = ViewBag.msg1, status = 3 }, JsonRequestBehavior.AllowGet));
                    }
                }
                else
                {
                    ViewBag.msg = "Mật khẩu sai rồi !";
                    return(Json(new { error = "No Access", message = ViewBag.msg, status = 0 }, JsonRequestBehavior.AllowGet));
                }
            }

            if (parent != null)
            {
                if (parent.password.Equals(password))
                {
                    if (parent.status == 1)
                    {
                        var        jwt      = new JWT();
                        JSONObject dataUser = jwt.DataJSON(parent);
                        string     token    = jwt.TokenStream(dataUser);
                        Session["FullName"] = parent.fullname;
                        Session["username"] = parent.username;
                        Session["UserID"]   = parent.parent_id;
                        Session["username"] = parent.username;
                        Session["Role"]     = "parent";
                        Session.Timeout     = 180;
                        if (TempData["returnUrl"] != null && !string.IsNullOrWhiteSpace(TempData["returnUrl"].ToString()))
                        {
                            return(Json(new { url = TempData["returnUrl"].ToString(), TokenContext = token }, JsonRequestBehavior.AllowGet));
                        }
                        else
                        {
                            return(Json(new { url = "Parent/InfoOfParent", TokenContext = token }, JsonRequestBehavior.AllowGet));
                        }
                    }
                    if (parent.status == 2)
                    {
                        ViewBag.msg = "Tài khoản của bạn chưa được kích hoạt";
                        return(Json(new { error = "No Access", message = ViewBag.msg, status = 2 }, JsonRequestBehavior.AllowGet));
                    }
                    if (parent.status == 3)
                    {
                        ViewBag.msg1 = "Tài khoản của bạn đã bị khóa , vui lòng liên hệ ban quản trị hệ thống";
                        return(Json(new { error = "No Access", message = ViewBag.msg1, status = 3 }, JsonRequestBehavior.AllowGet));
                    }
                }
                else
                {
                    ViewBag.msg = "Mật khẩu sai rồi !";
                    return(Json(new { error = "No Access", message = ViewBag.msg, status = 0 }, JsonRequestBehavior.AllowGet));
                }
            }
            ViewBag.msg = "username hoặc email không tồn tại";
            return(Json(new { error = "No Access", message = ViewBag.msg, status = 0 }, JsonRequestBehavior.AllowGet));
        }