private static void OnUserRegisted(MembershipUser user)
        {
            MyLifeContext.Current.User = new GenericPrincipal(new GenericIdentity(user.UserName), null);
            FormsAuthentication.SetAuthCookie(user.UserName, false);

            var tpl = new XmlMailTemplate(Path.Combine(MyLifeContext.WorkingFolder, "App_Data\\Register.xml")) { Data = new { user.UserName } };
            tpl.Process();
            Net.Mail.SendMail.Send(user.Email, tpl.Subject, tpl.Body);

            // Register new blog
            var blog = Blog.New();
            blog.Save();
        }
        public ActionResult ResetPassword()
        {
            if (IsPostRequest)
            {
                var username = Request.Form["user.UserName"].ToLowerInvariant();
                var obj = new AjaxModel();

                var user = Membership.GetUser(username);
                if (user == null)
                {
                    obj.Message = "Tên đăng nhập này không tồn tại";
                    goto Return;
                }

                if (user.IsLockedOut)
                {
                    obj.Message = "Tài khoản của bạn đã bị khóa, hãy liên hệ với người quản lý";
                    obj.RedirectUrl = "/contact";
                    goto Return;
                }

                var password = user.ResetPassword();

                if (string.IsNullOrEmpty(password))
                {
                    obj.Message = "Có lỗi trong quá trình khởi tạo lại mật khẩu";
                    goto Return;
                }

                obj.Status = true;
                obj.Message = "Mật khẩu đã được khởi tạo và gửi về hòm mail của bạn";
                obj.RedirectUrl = "/login";

                var tpl = new XmlMailTemplate(Server.MapPath("App_Data/ResetPassword.xml"))
                              {
                                  Data = new
                                             {
                                                 user.UserName,
                                                 Password = password
                                             }
                              };
                tpl.Process();
                Net.Mail.SendMail.Send(user.Email, tpl.Subject, tpl.Body);

                Return:
                return Json(obj);
            }

            ViewData[Constants.ViewData.Title] = MyLifeContext.Settings.Name + " - " + Messages.ResetPassword;
            return View("ResetPassword", MyLifeContext.Settings.Theme);
        }