public JsonResult SigninPost(SignInViewModel model)
        {
            if (!ModelState.IsValid)
                return Json(new
                {
                    state = 0,
                    message = "Invalid model"
                });

            if (UserDatabaseHelper.Instance.ValidateUser(model.UserName, model.Password))
            {
                if (UserDatabaseHelper.Instance.isLookedUser(model.UserName))
                {
                    UserHelpers.SetCurrentUser(Session, null);
                    ModelState.AddModelError("", "Your account has been locked! Please contact with our support");
                    return Json(new
                    {
                        state = 0,
                        message = "Your account has been locked! Please contact with our support"
                    });
                }
                if (model.Remember)
                {
                    HttpCookie userName = new HttpCookie("userName");
                    userName.Expires = DateTime.Now.AddDays(7);
                    userName.Value = model.UserName;
                    Response.Cookies.Add(userName);

                    HttpCookie password = new HttpCookie("password");
                    password.Expires = DateTime.Now.AddDays(7);
                    password.Value = model.Password;
                    Response.Cookies.Add(password);
                }
                else {
                    HttpCookie userName = new HttpCookie("userName");
                    userName.Expires = DateTime.Now.AddHours(1);
                    userName.Value = model.UserName;
                    Response.Cookies.Add(userName);

                    HttpCookie password = new HttpCookie("password");
                    password.Expires = DateTime.Now.AddHours(1);
                    password.Value = model.Password;
                    Response.Cookies.Add(password);
                }
                var user = UserDatabaseHelper.Instance.GetUserByUserName(model.UserName);
                UserHelpers.SetCurrentUser(Session, user);
                if (user.UserRoles == EventZoneConstants.Admin || user.UserRoles == EventZoneConstants.RootAdmin ||
                    user.UserRoles == EventZoneConstants.Mod)
                {
                    UserHelpers.SetCurrentAdmin(Session, user);
                }

            }
            else
            {
                ModelState.AddModelError("", "UserName or password is invalid.");
                return Json(new
                {
                    state = 0,
                    message = "Invalid account, password"
                });
            }

            return Json(new
            {
                state = 1,
                message = "Signin Successfully"
            });
            
        }
        public ActionResult SignInPost(SignInViewModel model)
        {
            if (!ModelState.IsValid)
            {
                TempData["errorTitle"] = "Invalid Input";
                TempData["errorMessage"] = "Invalid Input";
            }
            if (UserDatabaseHelper.Instance.isLookedUser(model.UserName))
            {
                ModelState.AddModelError("", "Your account is locked! Please contact with our support");
            }
            var admin = AdminDataHelpers.Instance.FindAdmin(model.UserName, model.Password);
            if (admin!=null&&(admin.UserRoles==EventZoneConstants.Admin||admin.UserRoles==EventZoneConstants.RootAdmin))
            {
                if (model.Remember)
                {
                    HttpCookie userName = new HttpCookie("Admin_userName");
                    userName.Expires = DateTime.Now.AddDays(7);
                    userName.Value = model.UserName;
                    Response.Cookies.Add(userName);

                    HttpCookie password = new HttpCookie("Admin_password");
                    password.Expires = DateTime.Now.AddDays(7);
                    password.Value = model.Password;
                    Response.Cookies.Add(password);
                }
                UserHelpers.SetCurrentAdmin(Session, admin);
                return RedirectToAction("Index", "Admin");
            }
            else
            {
                ModelState.AddModelError("", "UserName or password is invalid.");
            }

            return RedirectToAction("Index", "Admin");

            // If we got this far, something failed, redisplay form
        }