public ActionResult LoginMobile(User user)
        {
            var failLogin = new
            {
                Rank = 99,
            };

            //fetch from database
            if (ModelState.IsValid)
            {
                User u = UserDao.GetUser(user);
                if (u == null)
                {
                    return(Json(failLogin, JsonRequestBehavior.AllowGet));
                }

                Debug.WriteLine(u.Department.DepartmentId);
                Debug.WriteLine(u.Department.DepartmentName);

                string token = TokenUtility.Encrypt(u);
                Response.Cookies["token"].Value   = token;
                Response.Cookies["token"].Expires = DateTime.Now.AddDays(1);

                var login = new
                {
                    Department = u.Department.DepartmentId,
                    UserId     = u.UserId,
                    Name       = u.Name,
                    Rank       = u.Rank,
                };
                return(Json(login, JsonRequestBehavior.AllowGet));
            }
            return(Json(failLogin, JsonRequestBehavior.AllowGet));
        }
Example #2
0
        public ActionResult Login(User user)
        {
            //fetch from database
            if (ModelState.IsValid)
            {
                User u = UserDao.GetUser(user);
                if (u == null)
                {
                    ViewData["Error"] = "Username or Password is wrong.";
                    return(View());
                }

                string     token  = TokenUtility.Encrypt(u);
                HttpCookie cookie = new HttpCookie("token", token);
                cookie.Expires = DateTime.Now.AddDays(1);
                Response.Cookies.Add(cookie);

                RedirectToRouteResult result = null;
                switch (u.Rank)
                {
                case (int)UserRank.Manager:
                    result = RedirectToRoute("PendingOrders");
                    break;

                case (int)UserRank.Supervisor:
                    result = RedirectToRoute("PendingOrders");
                    break;

                case (int)UserRank.TemporaryHead:
                    result = RedirectToRoute("requestitems");
                    break;

                case (int)UserRank.Employee:
                    result = RedirectToRoute("requestitems");
                    break;

                case (int)UserRank.Head:
                    result = RedirectToRoute("pendingrequisitions");
                    break;

                case (int)UserRank.Clerk:
                    result = RedirectToRoute("orderitems");
                    break;
                }


                return(result);
            }

            return(View());
        }