Esempio n. 1
0
 public void Persistir(ProjetoEntidade projeto, UsuarioEntidade usuarioLogado)
 {
     if (projeto.Id == 0)
     {
         var usuarioDaBase = usuarioRepositorio.BuscarPorEmail(usuarioLogado);
         projeto.Usuario = usuarioDaBase;
         projetoRepositorio.Criar(projeto);
     }
     else
     {
         this.verificarPermissao(projeto, usuarioLogado);
         projetoRepositorio.Editar(projeto);
     }
 }
Esempio n. 2
0
        public ICommandResult Handle(LogarCommand command)
        {
            //Validações no Sistema

            command.Validar();

            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Email ou senha Inválidos", command.Notifications));
            }

            //Verifica a existencia do Email

            var usuarioexiste = _repositorio.BuscarPorEmail(command.Email);

            if (usuarioexiste == null)
            {
                return(new GenericCommandResult(false, "Email inválido", command.Notifications));
            }

            //Validação da Senha

            if (!Senha.Validar(command.Senha, usuarioexiste.Senha))
            {
                return(new GenericCommandResult(false, "Senha inválida", command.Notifications));
            }


            return(new GenericCommandResult(true, "Usuário logado", usuarioexiste));
        }
Esempio n. 3
0
        public ICommandResult Handle(LogarCommand command)
        {
            //Comand é valido
            command.Validar();

            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Dados inválidos", command.Notifications));
            }

            //Buscar usuario pelo email
            var usuario = _repositorio.BuscarPorEmail(command.Email);

            //Usuario existe
            if (usuario == null)
            {
                return(new GenericCommandResult(false, "Email inválido", null));
            }

            //Validar Senha
            if (!Senha.Validar(command.Senha, usuario.Senha))
            {
                return(new GenericCommandResult(false, "Senha inválida", null));
            }

            //retorna true com os dados do usuário
            return(new GenericCommandResult(true, "Usuário Logado", usuario));
        }
Esempio n. 4
0
        public ICommandResult Handle(CriarUsuarioCommand command)
        {
            command.Validar();
            if (command.Invalid)
            {
                return(new GerencCommandResult(false, "informe corretamente os dados", command.Notifications));
            }
            var usarioExiste = _usuarioRepositorio.BuscarPorEmail(command.Email);

            if (usarioExiste != null)
            {
                return(new GerencCommandResult(false, "Email ja cadastrado, informe outro email", null));
            }

            command.Senha = Senha.Criptografar(command.Senha);

            var usuario = new Usuario(command.Nome, command.Email, command.Senha, command.TipoUsuario);

            if (!string.IsNullOrEmpty(command.Telefone))
            {
                usuario.AdicionarTelefone(command.Telefone);
            }

            if (usuario.Invalid)
            {
                return(new GerencCommandResult(false, "Dados de usuario Invalidos", usuario.Notifications));
            }

            _usuarioRepositorio.Adicionar(usuario);

            return(new GerencCommandResult(true, "Usuario", usuario));
        }
Esempio n. 5
0
        public ICommandResult Handle(EsqueciSenhaCommadn command)
        {
            command.Validar();

            if (command.Invalid)
            {
                return(new GerencCommandResult(false, "Dados inválidos", command.Notifications));
            }

            var usuario = _repositorio.BuscarPorEmail(command.Email);

            if (usuario == null)
            {
                return(new GerencCommandResult(false, "Email inválido", null));
            }

            string senha = Senha.Gerar();

            usuario.AlterarSenha(Senha.Criptografar(senha));

            if (usuario.Invalid)
            {
                return(new GerencCommandResult(false, "Dados inválidos", usuario.Notifications));
            }

            _repositorio.Alterar(usuario);

            return(new GerencCommandResult(true, "Uma nova senha foi criada e enviada para o seu e-mail, verifique!!!", null));
        }
Esempio n. 6
0
        public ICommandResult Handle(CriarContaCommand command)
        {
            //Faz as Validações

            command.Validar();

            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Dados inválidos", command.Notifications));
            }

            //Verificação de Emails já existentes

            var usuarioExiste = _repositorio.BuscarPorEmail(command.Email);

            if (usuarioExiste != null)
            {
                return(new GenericCommandResult(false, "Email já cadastrado", null));
            }


            //Produz a entidade Usuario

            var usuario = new Codetur.Dominio.Entidades.Usuario(command.Nome, command.Email, command.Senha, command.TipoUsuario);


            if (usuario.Invalid)
            {
                return(new GenericCommandResult(false, "Dados inválidos", usuario.Notifications));
            }

            if (!string.IsNullOrEmpty(command.Telefone))
            {
                usuario.AdicionarTelefone(command.Telefone);
            }

            //Criptografa a Senha

            usuario.AlterarSenha(Senha.CriptografarSenha(command.Senha));

            if (usuario.Invalid)
            {
                return(new GenericCommandResult(false, "Dados inválidos", usuario.Notifications));
            }

            //Salva o novo Usuario no Banco

            _repositorio.Adicionar(usuario);

            //Email de Boas Vindas

            return(new GenericCommandResult(true, "Conta criada com Sucesso", null));
        }
Esempio n. 7
0
        public ICommandResult Handle(AlterarUsuarioCommand command)
        {
            // Validações no Sitema

            command.Validar();

            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Dados inválidos", command.Notifications));
            }

            //Verificação de Email já existentes

            var usuario = _repositorio.BuscarPorId(command.IdUsuario);

            if (usuario == null)
            {
                return(new GenericCommandResult(false, "Usuário não encontrado", null));
            }

            //Verifica se Outro Usuario já tem o mesmo e-mail cadastrado

            if (usuario.Email != command.Email)
            {
                var emailExiste = _repositorio.BuscarPorEmail(command.Email);

                if (emailExiste != null)
                {
                    return(new GenericCommandResult(false, "Email já cadastrado", null));
                }
            }

            usuario.AlterarUsuario(command.Nome, command.Email);

            if (!string.IsNullOrEmpty(command.Telefone))
            {
                usuario.AdicionarTelefone(command.Telefone);
            }

            if (usuario.Invalid)
            {
                return(new GenericCommandResult(false, "Dados inválidos", usuario.Notifications));
            }

            //Salva as Alterações do Usuario no bando

            _repositorio.Alterar(usuario);

            //Manda email de boas vindas

            return(new GenericCommandResult(true, "Conta alterada com Sucesso", null));
        }
        public Usuario BuscarPorAutenticacao(string login, string password)
        {
            var usuario = usuarioRepositorio.BuscarPorEmail(login);

            if (usuario != null)
            {
                string senhaCriptografada = servicoCriptografia.CriptografarSenha(password);
                if (senhaCriptografada == usuario.Senha)
                {
                    return(usuario);
                }
            }
            return(null);
        }
Esempio n. 9
0
        public IComandResult Handle(EmailEsqueceuSenhaComand comand)
        {
            //verificar se tem notificação no comand
            if (!comand.IsValid())
            {
                return(new ComandResult(false, "Por favor corrija os campos abaixo", comand.Notifications));
            }

            //verifica se o usuário ja existe
            var usuario = _repository.BuscarPorEmail(comand.Email);

            if (usuario == null)
            {
                AddNotification("Usuario", "Email não cadastrado!");
            }
            else
            {
                usuario.GerarRecuperSenha();
                _repository.Alterar(usuario);
            }


            if (Invalid)
            {
                return(new ComandResult(false, "Por favor corrija os campos abaixo", Notifications));
            }

            var resultato = new ComandResult(true, "Um e-mail foi enviado para o e-email " + usuario.Login, new { usuario.Id, usuario.Login });

            if (resultato.Success)
            {
                var enviou = _enviarEmailServices.EnviarCodigo("*****@*****.**", new List <string>()
                {
                    usuario.Login
                }, "*****@*****.**", null, true, "teste", "<html><body><a href='http://localhost:4200/recuperar-senha/" + usuario.RecuperarSenha + "'><button>Texto do botão</button></a></body></html>", "smtp.gmail.com");
                if (enviou)
                {
                    return(resultato);
                }
            }
            else
            {
                AddNotification("Erro", "Email não enviado!");
            }

            return(new ComandResult(false, "Falha em enviar o e-email,tente novamente!", Notifications));
        }
Esempio n. 10
0
        public ICommandResult Handle(CriarUsuarioCommand command)
        {
            //Cria a instancia do usuario passando os parametros
            //Verifica se os dados são válidos e se sim, envia um email de boas vindas

            //Validar command ----------------------------
            command.Validar();

            //GenericCommandResult - Padronizar as respostas
            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Dados do usuário inválidos", command.Notifications));
            }

            //Verifica email existe ----------------------------
            //Regra de negócio
            var usuarioExiste = _usuariorepositorio.BuscarPorEmail(command.Email);

            if (usuarioExiste != null)
            {
                return(new GenericCommandResult(false, "Email já cadastrado", null));
            }

            //Criptografar senha ---------------------------
            command.Senha = Senha.Criptografar(command.Senha);

            // Salvar Usuario --------------------------
            var usuario = new Usuario(command.Nome, command.Email, command.Senha, command.TipoUsuario);

            //Verifica se passou telefone ou não
            if (!string.IsNullOrEmpty(command.Telefone))
            {
                usuario.AdicionarTelefone(command.Telefone);
            }

            if (usuario.Invalid)
            {
                return(new GenericCommandResult(false, "Dados do usuário inválidos", command.Notifications));
            }

            _usuariorepositorio.Adicionar(usuario);

            //TODO: Enviar Email Boas Vindas -------------------------
            //Desafio SendGrid

            return(new GenericCommandResult(true, "Usuário Criado", null));
        }
Esempio n. 11
0
        public ICommandResult Handle(AlterarUsuarioCommand command)
        {
            command.Validar();

            if (command.Invalid)
            {
                return(new GerencCommandResult(false, "Dados inválidos", command.Notifications));
            }

            var usuario = _repositorio.BuscarPorId(command.IdUsuario);

            if (usuario == null)
            {
                return(new GerencCommandResult(false, "Usuário não encontrado", null));
            }


            if (usuario.Email != command.Email)
            {
                var emailExiste = _repositorio.BuscarPorEmail(command.Email);

                if (emailExiste != null)
                {
                    return(new GerencCommandResult(false, "Email já cadastrado", null));
                }
            }

            usuario.AlterarUsuario(command.Nome, command.Email);


            if (!string.IsNullOrEmpty(command.Telefone))
            {
                usuario.AlterarTelefone(command.Telefone);
            }

            if (usuario.Invalid)
            {
                return(new GerencCommandResult(false, "Dados inválidos", usuario.Notifications));
            }

            _repositorio.Alterar(usuario);

            return(new GerencCommandResult(true, "Conta alterada com Sucesso", null));
        }
Esempio n. 12
0
        public ICommandResult Handle(CriarUsuarioCommand command)
        {
            //Fail Fast Validation
            //Validar command
            command.Validar();

            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Dados inválidos", command.Notifications));
            }

            //Verifica Email Existe
            var usuarioExiste = _usuarioRepositorio.BuscarPorEmail(command.Email);

            if (usuarioExiste != null)
            {
                return(new GenericCommandResult(false, "Email já cadastrado", null));
            }

            //Criptografar Senha
            command.Senha = Senha.Criptografar(command.Senha);

            //Cria instancia do usuario passando os parametros
            var usuario = new Usuario(command.Nome, command.Email, command.Senha, command.TipoUsuario);

            //Se passou o telefone altera
            if (!string.IsNullOrEmpty(command.Telefone))
            {
                usuario.AdicionarTelefone(command.Telefone);
            }

            //verifica se os dados do usuario sao validos
            if (usuario.Invalid)
            {
                return(new GenericCommandResult(false, "Usuário inválido", usuario.Notifications));
            }

            _usuarioRepositorio.Adicionar(usuario);


            //Enviar Email Boas Vinhas
            return(new GenericCommandResult(true, "Usuário Criado", usuario));
        }
Esempio n. 13
0
        public ICommandResult Handle(CriarUsuarioCommand command)
        {
            //Fail Fast Validation
            //Verifica se o command recebido é válido
            command.Validar();

            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Dados inválidos", command.Notifications));
            }

            var usuarioExiste = _usuarioRepositorio.BuscarPorEmail(command.Email);

            if (usuarioExiste != null)
            {
                return(new GenericCommandResult(false, "E-mail já cadastrado, informe outro e-mail", null));
            }

            //TODO: Criptografar Senha
            //command.Senha = Senha.Criptografar(command.Senha);

            // Salvar o Banco
            var usuario = new Usuario(command.Nome, command.Email, command.Senha, command.TipoUsuario);

            //Verifica se foi passado o telefone, caso sim inclui o mesmo
            if (!string.IsNullOrEmpty(command.Telefone))
            {
                usuario.AdicionarTelefone(command.Telefone);
            }

            if (usuario.Invalid)
            {
                return(new GenericCommandResult(false, "Dados inválidos", usuario.Notifications));
            }

            _usuarioRepositorio.Adicionar(usuario);

            //TODO : Enviar Email de boas Vindas para o meu usuário


            return(new GenericCommandResult(true, "Usuário Criado", null));
        }
Esempio n. 14
0
        public ICommandResult Handle(CriarContaCommand command)
        {
            // Validar Command
            command.Validar();

            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Dados do usuário Inválidos", command.Notifications));
            }

            //Verifica se email existe
            var usuarioExiste = _usuarioRepositorio.BuscarPorEmail(command.Email);

            if (usuarioExiste != null)
            {
                return(new GenericCommandResult(false, "Email já cadastrado", null));
            }


            //Criptografar Senha
            command.Senha = Senha.Criptografar(command.Senha);

            //Salvar Usuário
            var usuario = new Usuario(command.Nome, command.Email, command.Senha, command.TipoUsuario);

            if (!string.IsNullOrEmpty(command.Telefone))
            {
                usuario.AdicionarTelefone(command.Telefone);
            }

            if (usuario.Invalid)
            {
                return(new GenericCommandResult(false, "Usuário Inválido", usuario.Notifications));
            }

            _usuarioRepositorio.Adicionar(usuario);
            //Enviar Email de Boas Vindas
            //Send Grid

            return(new GenericCommandResult(true, "Usuário Criado", null));
        }
Esempio n. 15
0
        public ICommandResult Handle(ResetarSenhaCommand command)
        {
            //Validações no Sistema

            command.Validar();

            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Dados inválidos", command.Notifications));
            }

            //Verificação do Email

            var usuario = _repositorio.BuscarPorEmail(command.Email);

            if (usuario == null)
            {
                return(new GenericCommandResult(false, "Email inválido", null));
            }

            //Gera a nova senha para o acesso do Usuario

            string senha = Senha.Gerar();

            //Criptografa a Senha

            usuario.AlterarSenha(Senha.CriptografarSenha(senha));

            if (usuario.Invalid)
            {
                return(new GenericCommandResult(false, "Dados inválidos", usuario.Notifications));
            }

            //Salvar usuario banco

            _repositorio.Alterar(usuario);

            //Envia o email mostrando a nova senha do Usuario

            return(new GenericCommandResult(true, "Uma nova senha foi criada e enviada para o seu e-mail, verifique!!!", null));
        }
        public ICommandResult Handle(LoginCommand command)
        {
            command.Validar();

            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Dados inválidos", command.Notifications));
            }

            var usuario = _usuarioRepositorio.BuscarPorEmail(command.Email);

            if (usuario == null)
            {
                return(new GenericCommandResult(false, "E-mail inválido", null));
            }

            if (!Senha.Validar(command.Senha, usuario.Senha))
            {
                return(new GenericCommandResult(false, "Senha inválida", null));
            }

            return(new GenericCommandResult(true, "Usuário Logado", usuario));
        }
Esempio n. 17
0
        public ICommandResult Handle(LogarCommand command)
        {
            command.Validar();

            if (command.Invalid)
            {
                return(new GerencCommandResult(false, "Dados Invalidos", command.Notifications));
            }

            var usuario = _repositorio.BuscarPorEmail(command.Email);

            if (usuario == null)
            {
                return(new GerencCommandResult(false, "Email Invalido", null));
            }

            if (!Senha.Validar(command.Senha, usuario.Senha))
            {
                return(new GerencCommandResult(false, "Senha Invalida", null));
            }

            return(new GerencCommandResult(true, "Usuario Logado", null));
        }
        public ICommandResult Handle(CriarContaCommand command)
        {
            command.Validar();

            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Informe corretamente os dados do usuário!", command.Notifications));
            }

            var usuarioExiste = _usuarioRepositorio.BuscarPorEmail(command.Email);

            if (usuarioExiste != null)
            {
                return(new GenericCommandResult(false, "E-mail já cadastrado no sistema, informe outro e-mail!", null));
            }

            command.Senha = Senha.Criptografar(command.Senha);

            var usuario = new Usuario(command.Nome, command.Email, command.Senha, command.TipoUsuario);

            if (!string.IsNullOrEmpty(command.Telefone))
            {
                usuario.AlterarTelefone(command.Telefone);
            }

            if (usuario.Invalid)
            {
                return(new GenericCommandResult(false, "Dados de usuário inválidos!", usuario.Notifications));
            }

            _usuarioRepositorio.Adicionar(usuario);

            //EMAIL DE BOAS VINDAS ---- SENDGRID

            return(new GenericCommandResult(true, "Usuário Criado com sucesso!", usuario));
        }