public Senha TrocarSenha(String senhaAntigaCriptografada, String novaSenhaCriptografada, String confirmaNovaSenhaCriptografada) { AssegureQue.NaoEhNulo(senhaAntigaCriptografada, "A senha atual informada não pode ser nula"); AssegureQue.NaoEhVazio(senhaAntigaCriptografada, "A senha atual informada não pode ser vazia"); AssegureQue.NaoEhNulo(novaSenhaCriptografada, "A nova senha informada não pode ser nula"); AssegureQue.NaoEhVazio(novaSenhaCriptografada, "A nova senha informada não pode ser vazia (1)"); AssegureQue.EhDiferente(novaSenhaCriptografada, _senhaVaziaCriptografada, "A nova senha informada não pode ser vazia (2)"); AssegureQue.NaoEhNulo(confirmaNovaSenhaCriptografada, "A confirmação da nova senha informada não pode ser nula"); AssegureQue.NaoEhVazio(confirmaNovaSenhaCriptografada, "A confirmação da nova senha informada não pode ser vazia (1)"); AssegureQue.EhDiferente(confirmaNovaSenhaCriptografada, _senhaVaziaCriptografada, "A confirmação da nova senha informada não pode ser vazia (2)"); AssegureQue.EhIgual(novaSenhaCriptografada, confirmaNovaSenhaCriptografada, "A confirmação da nova senha não coincide com a nova senha"); AssegureQue.EhIgual(senhaAntigaCriptografada.Criptografar(), SenhaAtual, "A senha informada não é a senha atual"); AssegureQue.EhDiferente(senhaAntigaCriptografada, novaSenhaCriptografada, "A nova senha informada não pode ser a mesma senha atual"); AssegureQue.EhDiferente(senhaAntigaCriptografada, SenhaAtual, "A nova senha informada não pode ser a mesma senha atual"); var senhaCriptografada = novaSenhaCriptografada.Criptografar(); var usouSenhasAnteriores = UltimasSenhas(5).Any(s => s.SenhaCriptografada == senhaCriptografada); AssegureQue.EhFalso(usouSenhasAnteriores, "Não é possível trocar a senha por senhas usadas nas últimas 5 trocas de senha"); var senha = new Senha { SenhaCriptografada = senhaCriptografada }; Senhas.Adicionar(senha); AssegureQue.EhDiferente(senhaAntigaCriptografada.Criptografar(), SenhaAtual, "A senha antiga continua sendo a senha atual"); AssegureQue.EhIgual(senhaCriptografada, SenhaAtual, "A nova senha informada não pode ser trocada"); return(senha); }
public override void EhValido() { AssegureQue.NaoEhNulo(SenhaNova, "A nova senha informada não pode ser nula"); AssegureQue.NaoEhVazio(SenhaNova, "A nova senha informada não pode ser vazia (1)"); AssegureQue.EhDiferente(SenhaNova, VaziaCriptografada, "A nova senha informada não pode ser vazia (2)"); AssegureQue.NaoEhNulo(SenhaNovaConfirma, "A confirmação da nova senha informada não pode ser nula"); AssegureQue.NaoEhVazio(SenhaNovaConfirma, "A confirmação da nova senha informada não pode ser vazia (1)"); AssegureQue.EhDiferente(SenhaNovaConfirma, VaziaCriptografada, "A confirmação da nova senha informada não pode ser vazia (2)"); AssegureQue.EhIgual(SenhaNova, SenhaNovaConfirma, "A confirmação da nova senha não coincide com a nova senha"); }
public Senha TrocarSenha(String senhaAntiga, String senhaNova, String senhaNovaConfirma) { AssegureQue.NaoEhNulo(senhaAntiga, "A senha atual informada não pode ser nula"); AssegureQue.NaoEhVazio(senhaAntiga, "A senha atual informada não pode ser vazia"); AssegureQue.EhIgual(senhaAntiga.Criptografar(), SenhaAtual, "A senha informada não é a senha atual"); AssegureQue.EhDiferente(senhaAntiga, senhaNova, "A nova senha informada não pode ser a mesma senha atual"); AssegureQue.EhDiferente(senhaNova.Criptografar(), SenhaAtual, "A nova senha informada não pode ser a mesma senha atual"); var senha = new Senha(senhaNova, senhaNovaConfirma); senha.EhValido(); var usouSenhasAnteriores = UltimasSenhas(5).Any(s => s.SenhaCriptografada == senha.SenhaCriptografada); AssegureQue.EhFalso(usouSenhasAnteriores, "Não é possível trocar a senha por senhas usadas nas últimas 5 trocas de senha"); Senhas.Adicionar(senha); AssegureQue.EhDiferente(SenhaAtual, senhaAntiga.Criptografar(), "A senha antiga continua sendo a senha atual"); AssegureQue.EhIgual(SenhaAtual, senha.SenhaCriptografada, "A nova senha informada não pode ser trocada"); return(senha); }