public ActionResult TryLogin()
        {
            SignUpViewModel signUpViewModel = new SignUpViewModel();

            signUpViewModel.SideBarData = new SideBarViewModel();
            signUpViewModel.SideBarData.CurrentIndex = 0;
            signUpViewModel.NavStatusData            = new NavStatusViewModel();
            signUpViewModel.NavStatusData.LeftText   = "Log in";
            signUpViewModel.NavStatusData.LeftLink   = "/User/LogIn";
            signUpViewModel.NavStatusData.RightText  = "Sign up";
            signUpViewModel.NavStatusData.RightLink  = "/User/SignUp";

            UserInfoBusinessLayer userInfoBusinessLayer = new UserInfoBusinessLayer();
            List <UserInfo>       userInfoList          = userInfoBusinessLayer.GetUserInfoList();
            UserInfo userInfo = new UserInfo();

            userInfo.Mail     = UniqueEmail(Request.Form["Mail"]);
            userInfo.Password = Request.Form["Password"];

            bool LoginFlag = false;

            foreach (UserInfo ui in userInfoList)
            {
                if (ui.Mail == userInfo.Mail && ui.Password == userInfo.Password)
                {
                    userInfo.NickName = ui.NickName;
                    LoginFlag         = true;
                    break;
                }
            }


            if (LoginFlag == true)
            {
                signUpViewModel.NavStatusData.AlertType = "success";
                signUpViewModel.NavStatusData.Message   = "Login successfully!";
                HttpContext.Session["Mail"]             = userInfo.Mail;
                HttpContext.Session["User"]             = userInfo.NickName;
                HttpContext.Session["Group"]            = 1;

                Response.Redirect("~");
                return(View("Index", signUpViewModel));
            }
            else
            {
                signUpViewModel.NavStatusData.Message   = "Wrong Email or password";
                signUpViewModel.NavStatusData.AlertType = "danger";

                return(View("Signup", signUpViewModel));
            }
        }
        public ActionResult TrySignUp()
        {
            SignUpViewModel       signUpViewModel       = new SignUpViewModel();
            UserInfoBusinessLayer userInfoBusinessLayer = new UserInfoBusinessLayer();
            List <UserInfo>       userInfoList          = userInfoBusinessLayer.GetUserInfoList();
            UserInfo userInfo = new UserInfo();

            userInfo.NickName = Request.Form["NickName"];
            userInfo.Mail     = UniqueEmail(Request.Form["Mail"]);
            userInfo.Password = Request.Form["Password"];
            userInfo.Grade    = 1;

            bool SignUpFlag = true;

            foreach (UserInfo ui in userInfoList)
            {
                if (ui.Mail == userInfo.Mail)
                {
                    SignUpFlag = false;
                    break;
                }
            }

            signUpViewModel.NickName = userInfo.NickName;
            signUpViewModel.Password = userInfo.Password;
            signUpViewModel.Mail     = signUpViewModel.Mail;

            signUpViewModel.SideBarData = new SideBarViewModel();
            signUpViewModel.SideBarData.CurrentIndex = 0;

            if (SignUpFlag == true)
            {
                userInfoBusinessLayer.SignUp(userInfo);
                signUpViewModel.Message      = "Signup successfully!";
                signUpViewModel.AlertType    = "success";
                HttpContext.Session["User"]  = userInfo.NickName;
                HttpContext.Session["Mail"]  = userInfo.Mail;
                HttpContext.Session["Group"] = 1;

                return(View("SignUp", signUpViewModel));
            }
            else
            {
                signUpViewModel.Message   = "Email is invalid or already taken";
                signUpViewModel.AlertType = "danger";

                return(View("SignUp", signUpViewModel));
            }
        }
        /* Create by Zhang Cong */
        public ActionResult UserInfoUpdate()
        {
            UserInfoBusinessLayer userInfoBusinessLayer = new UserInfoBusinessLayer();
            List <UserInfo>       userInfoList          = userInfoBusinessLayer.GetUserInfoList();
            UserInfo userInfo = new UserInfo();

            userInfo.Password = Request.Form["Password"];
            userInfo.Mail     = HttpContext.Session["Mail"].ToString();
            foreach (UserInfo ui in userInfoList)
            {
                if (ui.Mail == userInfo.Mail)
                {
                    userInfo.Grade    = ui.Grade;
                    userInfo.NickName = ui.NickName;
                    userInfoBusinessLayer.Del(ui);
                    break;
                }
            }
            userInfoBusinessLayer.Add(userInfo);
            Response.Redirect("~");
            return(View("Profile"));
        }