示例#1
0
        public static AccountForgottenPasswordModel ForgotPassword(AccountForgottenPasswordModel forgotPasswordModel)
        {
            var client  = new RestClient(BaseUrl);
            var request = InitRequest("/forgottenPassword", Method.PUT, forgotPasswordModel);
            IRestResponse <AccountForgottenPasswordModel> response = client.Execute <AccountForgottenPasswordModel>(request);

            return(response.Data);
        }
        public SuccessfulMessageResponse ChangePasswordLink([FromBody] AccountForgottenPasswordModel model)
        {
            var account = _readOnlyRepository.First <Account>(account1 => account1.Email == model.Email);

            if (account != null)
            {
                AccountHelpers.SendMessage(model.Email, account.FirstName + " " + account.LastName, 2);
            }
            throw new BadRequestException("Your email is not registered");
        }
        public SuccessfulMessageResponse ChangePassword([FromBody] AccountForgottenPasswordModel model)
        {
            var account = _readOnlyRepository.First <Account>(account1 => account1.Email == model.Email && account1.Password == model.OldPassword);

            if (account != null)
            {
                AccountHelpers.SendMessage(model.Email, account.FirstName + " " + account.LastName, 2);
                if (model.NewPassword != model.ConfirmPassword)
                {
                    throw new BadRequestException("Password and Confirm Password are different");
                }

                account.Password = model.NewPassword;
                Account accountCreated = _writeOnlyRepository.Update(account);
                if (accountCreated != null)
                {
                    return(new SuccessfulMessageResponse("Your password has been changed"));
                }
            }
            throw new BadRequestException("Your email or your password is incorrect");
        }