Esempio n. 1
0
        public IHttpActionResult UpdatePassword(ForgotPasswordUserBaseUpdateRequest model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }
                _appTokenService.UpdatePassword(model);
                return(Ok(new SuccessResponse()));
            }
            catch (Exception ex)
            {
                int currentUser = _userService.GetCurrentUserId();
                _appLogService.Insert(new AppLogAddRequest
                {
                    AppLogTypeId = 1,
                    Message      = ex.Message,
                    StackTrace   = ex.StackTrace,
                    Title        = "Error in " + GetType().Name + " " + System.Reflection.MethodBase.GetCurrentMethod().Name,
                    UserBaseId   = currentUser
                });

                return(BadRequest(ex.Message));
            }
        }
Esempio n. 2
0
        public void UpdatePassword(ForgotPasswordUserBaseUpdateRequest model)
        {
            UserSaltPasswordHash salthash = _userservice.CreateSaltandHash(model.Password);

            DataProvider.ExecuteNonQuery("dbo.UserBase_UpdateByAppTokenUserBaseId",
                                         inputParamMapper: (SqlParameterCollection inputs) =>
            {
                inputs.AddWithValue("@GUID", model.GUID);
                inputs.AddWithValue("@PasswordHash", salthash.passwordHash);
                inputs.AddWithValue("@Salt", salthash.salt);
            });
        }
Esempio n. 3
0
        public Boolean ChangePassword(ChangePasswordUserBaseUpdateRequest model)
        {
            Boolean  isPasswordChanged;
            UserBase user = new UserBase();

            DataProvider.ExecuteCmd("dbo.UserBase_SelectById",
                                    inputParamMapper: (SqlParameterCollection inputs) =>
            {
                inputs.AddWithValue("@id", model.CurrentUserBaseId);
            },
                                    singleRecordMapper: (IDataReader reader, short resultSet) =>
            {
                if (resultSet == 0)
                {
                    user = DataMapper <UserBase> .Instance.MapToObject(reader);
                }
            });

            string oldPasswordHash = _cryptographyService.Hash(model.OldPassword, user.Salt, HASH_ITERATION_COUNT);

            if (user.PasswordHash == oldPasswordHash)
            {
                //use user id to get guid
                ForgotPasswordAppTokenAddRequest addRequest = new ForgotPasswordAppTokenAddRequest();
                addRequest.Email = user.Email;
                string currentUserGUID = InsertGUID(addRequest);

                //use guid to update password
                ForgotPasswordUserBaseUpdateRequest updateRequest = new ForgotPasswordUserBaseUpdateRequest();
                updateRequest.Password = model.NewPassword;
                updateRequest.GUID     = currentUserGUID;
                UpdatePassword(updateRequest);
                isPasswordChanged = true;
            }
            else
            {
                isPasswordChanged = false;
            }
            return(isPasswordChanged);
        }