Esempio n. 1
0
        public void SendForgotPasswordEmail(string email, IMailer mailer)
        {
            EnsureLoggedOff();

            var targetEmail = Validator.ValidateEmail(email).ToLower();
            var loginUser   = _userOperations.GetLoginUser(targetEmail);

            var user = _userOperations.Get(loginUser.UserId);

            if (!user.Activated)
            {
                throw new ActivationException("Please activate the user first");
            }

            user.ActivationCode = Identity.Next();
            _userOperations.Update(user);

            mailer.SendForgotPasswordEmail(user.Id, user.Name, user.Email, user.ActivationCode, _settingProvider.WebsiteUrl);
        }