protected override void RemovePasswordResetSecret(PasswordResetSecret item)
        {
            var removed =
                this.PasswordResetSecretsCollection.SingleOrDefault(
                    x =>
                    x.PasswordResetSecretID == item.PasswordResetSecretID && x.Question == item.Question &&
                    x.Answer == item.Answer);

            this.PasswordResetSecretsCollection.Remove(removed);
        }
        protected override void AddPasswordResetSecret(PasswordResetSecret item)
        {
            var passwordResetSecret = new NhPasswordResetSecret();

            passwordResetSecret.GetType()
            .GetProperty("PasswordResetSecretID")
            .SetValue(passwordResetSecret, item.PasswordResetSecretID);
            passwordResetSecret.GetType().GetProperty("Question").SetValue(passwordResetSecret, item.Question);
            passwordResetSecret.GetType().GetProperty("Answer").SetValue(passwordResetSecret, item.Answer);
            passwordResetSecret.GetType().GetProperty("Account").SetValue(passwordResetSecret, this);
            this.PasswordResetSecretsCollection.Add(passwordResetSecret);
        }
Example #3
0
        public async Task AddPasswordResetSecretAsync(int accountId, string question, string answer)
        {
            _logger.LogInformation(GetLogMessage($"called: {accountId}"));

            if (string.IsNullOrWhiteSpace(question))
            {
                _logger.LogError(GetLogMessage("failed -- null question"));
                throw new ValidationException(GetValidationMessage(UserAccountConstants.ValidationMessages.SecretQuestionRequired));
            }
            if (string.IsNullOrWhiteSpace(answer))
            {
                _logger.LogError(GetLogMessage("failed -- null answer"));
                throw new ValidationException(GetValidationMessage(UserAccountConstants.ValidationMessages.SecretAnswerRequired));
            }

            var account = await GetByIdAsync(accountId, x => x.PasswordResetSecretCollection);

            if (account == null)
            {
                throw new ArgumentException("Invalid AccountID");
            }

            if (account.PasswordResetSecretCollection.Any(x => x.Question == question))
            {
                _logger.LogError(GetLogMessage("failed -- question already exists"));
                throw new ValidationException(GetValidationMessage(UserAccountConstants.ValidationMessages.SecretQuestionAlreadyInUse));
            }

            _logger.LogTrace(GetLogMessage("success"));

            var secret = new PasswordResetSecret
            {
                Guid        = Guid.NewGuid(),
                Question    = question,
                Answer      = _crypto.Hash(answer),
                ObjectState = ObjectState.Added
            };

            account.AddPasswordResetSecret(secret);

            AddEvent(new PasswordResetSecretAddedEvent {
                Account = account, Secret = secret
            });

            Repository.InsertOrUpdateGraph(account, true);

            FireEvents();
        }
Example #4
0
 protected internal override void RemovePasswordResetSecret(PasswordResetSecret item)
 {
     PasswordResetSecretCollection.Remove((TPasswordResetSecret)item);
 }
Example #5
0
 protected internal override void AddPasswordResetSecret(PasswordResetSecret item)
 {
     PasswordResetSecretCollection.Add(new TPasswordResetSecret {
         ParentKey = this.Key, PasswordResetSecretID = item.PasswordResetSecretID, Question = item.Question, Answer = item.Answer
     });
 }
Example #6
0
 protected internal override void AddPasswordResetSecret(PasswordResetSecret item)
 {
     PasswordResetSecretCollection.Add(item);
 }
 protected internal override void AddPasswordResetSecret(PasswordResetSecret item)
 {
     PasswordResetSecretCollection.Add(new RelationalPasswordResetSecretInt {
         UserAccountID = this.Key, PasswordResetSecretID = item.PasswordResetSecretID, Question = item.Question, Answer = item.Answer
     });
 }
 protected internal override void RemovePasswordResetSecret(PasswordResetSecret item)
 {
     PasswordResetSecretCollection.Remove(item);
 }
 protected internal override void AddPasswordResetSecret(PasswordResetSecret item)
 {
     PasswordResetSecretCollection.Add(item);
 }
 protected internal override void AddPasswordResetSecret(PasswordResetSecret item)
 {
     PasswordResetSecretCollection.Add(new RelationalPasswordResetSecret { UserAccountID = this.ID, PasswordResetSecretID = item.PasswordResetSecretID, Question = item.Question, Answer = item.Answer });
 }
 protected override void RemovePasswordResetSecret(PasswordResetSecret item)
 {
     var removed =
         this.PasswordResetSecretsCollection.SingleOrDefault(
             x =>
             x.PasswordResetSecretID == item.PasswordResetSecretID && x.Question == item.Question
             && x.Answer == item.Answer);
     this.PasswordResetSecretsCollection.Remove(removed);
 }
 protected override void AddPasswordResetSecret(PasswordResetSecret item)
 {
     var passwordResetSecret = new NhPasswordResetSecret();
     passwordResetSecret.GetType()
         .GetProperty("PasswordResetSecretID")
         .SetValue(passwordResetSecret, item.PasswordResetSecretID);
     passwordResetSecret.GetType().GetProperty("Question").SetValue(passwordResetSecret, item.Question);
     passwordResetSecret.GetType().GetProperty("Answer").SetValue(passwordResetSecret, item.Answer);
     passwordResetSecret.GetType().GetProperty("Account").SetValue(passwordResetSecret, this);
     this.PasswordResetSecretsCollection.Add(passwordResetSecret);
 }
Example #13
0
 public void RemovePasswordResetSecret(PasswordResetSecret item)
 {
     PasswordResetSecretCollection.Remove(item);
 }
Example #14
0
        //public IEnumerable<PasswordResetSecret> PasswordResetSecrets
        //{
        //    get { return PasswordResetSecretCollection ?? new List<PasswordResetSecret>(); }
        //}

        public void AddPasswordResetSecret(PasswordResetSecret item)
        {
            item.UserId = UserId;
            PasswordResetSecretCollection.Add(item);
        }