public Sistema() { Versao = new VersaoBuild(); Regra = new RegraBuild(); Usuario = new UsuarioBuild(); UsuarioRegra = new UsuarioRegraBuild(); }
public IResponse Autenticar(IRequest request) { if (!(request is null)) { AutenticarUsuarioRequest autenticarUsuarioRequest = (AutenticarUsuarioRequest)request; var usuario = new UsuarioBuild() .AdicionarEmail(autenticarUsuarioRequest.Email) .AdicionarSenha(autenticarUsuarioRequest.Senha) .BuildAutenticar(); AddNotifications(usuario); if (IsValid()) { usuario = _repository.ObterPor(u => u.Email.ToString() == usuario.Email.ToString() && u.Senha == usuario.Senha); if (!(usuario is null)) { if (usuario.Status == StatusUsuario.Ativo) { return((AutenticarUsuarioResponse)usuario); } else { AddNotification("Status", $"Não foi possível efetuar o login. Status do usuário: {usuario.ObterStatusUsuario()}."); return(null); } } else { AddNotification("Usuário", "Nome de usuário e/ou senha incorretos."); return(null); } }