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 override void EhValido() { AssegureQue.NaoEhNulo(Nome, "O nome do usuário não pode ser nulo"); AssegureQue.NaoEhVazio(Nome, "O nome do usuário não pode ser vazio"); AssegureQue.NaoEhNulo(EMail, "O E-Mail do usuário não pode ser nulo"); AssegureQue.NaoEhVazio(EMail, "O E-Mail do usuário não pode ser vazio"); AssegureQue.NaoEhNulo(Celular, "O Celular do usuário não pode ser nulo"); AssegureQue.NaoEhVazio(Celular, "O Celular do usuário não pode ser vazio"); var senhaAtual = UltimasSenhas(1).FirstOrDefault(); AssegureQue.NaoEhNulo(senhaAtual, "A senha atual não pode ser nula!"); senhaAtual.EhValido(); }
public void Autenticar(String eMailOuCelular, String senhaCriptografada) { AssegureQue.NaoEhNulo(eMailOuCelular, "EMail e / ou celular não informado (1)"); AssegureQue.NaoEhVazio(eMailOuCelular, "EMail e / ou celular não informado (2)"); var usuario = new Usuario { EMail = eMailOuCelular, Celular = eMailOuCelular }; var usuarios = Usuarios.ObterPor(usuario); AssegureQue.NaoEhVazio(usuarios, "Usuário não encontrado com este eMail e / ou celular"); AssegureQue.EhVerdadeiro(usuarios.Count() == 1, "EMail e / ou celular inválido. Confira as informações e tente novamente"); usuario = Usuarios.ObterPorIdComSenhas(usuarios.First().Id); AssegureQue.EhVerdadeiro(usuario.ConfirmarSenha(senhaCriptografada), "A senha informada não confere!"); }
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); }