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 void Gravar(Senha senha) { var execucao = Transacao.Proteger((transacao, log) => { senha.Id = Conexao.ExecuteScalar <Int64>(cInsertIntoSenha, senha, transacao); return(senha); }); AssegureQue.NaoHouveErro(execucao, "Houve um problema ao Gravar Usuario"); }
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 void Gravar(Usuario usuario) { usuario.EhValido(); var execucao = Transacao.Proteger((transacao, log) => { var senha = usuario.Senhas.FirstOrDefault(); usuario.Id = Conexao.ExecuteScalar <Int32>(cInsertIntoUsuario + Conexao.RDBMS.CmdSqlUltimoIdGerado, usuario, transacao); senha.Id = Conexao.ExecuteScalar <Int64>(cInsertIntoSenha + Conexao.RDBMS.CmdSqlUltimoIdGerado, senha, transacao); return(usuario); }); AssegureQue.NaoHouveErro(execucao, "Houve um problema ao Gravar Usuario"); }
public void CadastrarUsuario(String nome, String eMail, String celular, String novaSenhaCriptografada, String confirmaNovaSenhaCriptografada) { var usuario = new Usuario { Nome = nome, EMail = eMail, Celular = celular, Inclusao = DateTime.UtcNow }; usuario.DefinirSenhaInicial(novaSenhaCriptografada, confirmaNovaSenhaCriptografada); usuario.EhValido(); var usuarios = Usuarios.ObterPor(usuario); AssegureQue.EhVazio(usuarios, "Já existe um usuário cadastrado com este eMail e / ou celular"); Usuarios.Gravar(usuario); }
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 void TrocarSenha(String eMail, String celular, String senhaAntigaCriptografada, String novaSenhaCriptografada, String confirmaNovaSenhaCriptografada) { var usuarios = Usuarios.ObterPor(new Usuario { EMail = eMail, Celular = celular }); AssegureQue.NaoEhNulo(usuarios, "Não foi encontrado um usuário cadastrado com este eMail e / ou celular"); AssegureQue.EhVerdadeiro(usuarios.Count() == 1, "EMail e / ou celular inválido. Confira as informações e tente novamente"); var usuario = usuarios.First(); usuario.Preencher(Usuarios.BuscarSenhas(usuario.Id)); var senha = usuario.TrocarSenha(senhaAntigaCriptografada, novaSenhaCriptografada, confirmaNovaSenhaCriptografada); Usuarios.Gravar(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); }
public override void EhValido() { AssegureQue.NaoEhNulo(Usuario, "Usuário não pode ser nulo"); }
public Senha DefinirSenhaInicial(String novaSenhaCriptografada, String confirmaNovaSenhaCriptografada) { AssegureQue.EhVazio(Senhas, "Este Usuário já possui uma senha. Não é possível definir nova senha inicial"); return(TrocarSenha(_senhaNula, novaSenhaCriptografada, confirmaNovaSenhaCriptografada)); }