public ActionResult Login(string Message, string FailMessage)
 {
     var returnUrl = Request.QueryString["ReturnUrl"];
     var data = new AccountLoginViewModel();
     data.SuccessMessage = Message;
     data.ReturnUrl = returnUrl;
     data.FailMessage = FailMessage;
     return View(data);
 }
        public ActionResult Login(AccountLoginViewModel q)
        {
            Account o = AccountDAO.Current.Query(x => x.Username == q.UserName && x.Password == q.Password).FirstOrDefault();
            if (o != null)
            {
                FormsAuthentication.SetAuthCookie(q.UserName, false);

                //save account to session
                Session[Constants.Session.USER_LOGIN] = o;

                if (string.IsNullOrEmpty(q.ReturnUrl))
                {
                    return RedirectToAction("Index", "Notification");
                }
                return Redirect(q.ReturnUrl);
            }

            return View(q);
        }
        public ActionResult PostForgotPassword(AccountLoginViewModel fpvm)
        {
            Account o = AccountDAO.Current.Query(x => x.Email == fpvm.Email).FirstOrDefault();
            if (o != null)
            {
                var newpw = AccountBLO.Current.GeneratePassword();
                o.Password = newpw;
                AccountBLO.Current.AddOrUpdate(o);
                AccountBLO.Current.SendAccountInfo(o);
         
                return RedirectToAction("Login", new { Message = "Your password was reseted! Please check email!"});
            }
            else
            {
               
                return RedirectToAction("Login", new { FailMessage = "Email is not existed!" });
            }

        }