public ICommandResult Handler(CadastrarAlunoCommand command)
        {
            command.Validar();

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

            var alunoExiste = _alunoRepositorio.BuscarPorEmail(command.Email);

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

            command.Senha = Senha.CriptografarSenha(command.Senha);

            var aluno = new Aluno(command.Nome, command.Telefone, command.Email, command.Rg, command.Rg, command.Cpf, command.DataNascimento, command.FotoAluno);

            if (aluno.Valid)
            {
                _alunoRepositorio.Cadastrar(aluno);
            }

            _ = SendEmailGrid.EnviarEmail(aluno.Email, aluno.NomeUsuario,
                                          "Criação de conta na plataforma carometro", "Seu cadastro foi realizado",
                                          "Seu cadastro foi realizado", "Olá, é um grande prazer receber você na nossa plataforma Carometro, para acessar nossa plataforma basta inserir seu email de contrato para os pametros de email e senha"
                                          );

            return(new GenericCommandResult(true, "Usuário criado com sucesso!", aluno));
        }
Exemplo n.º 2
0
        public ICommandResult Handler(AlterarSenhaCommand command)
        {
            command.Validar();

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

            var usuarioAdminExiste = _adminRepositorio.BuscarPorEmail(command.Email);

            if (usuarioAdminExiste != null)
            {
                _ = SendEmailGrid.EnviarEmail(usuarioAdminExiste.Email, usuarioAdminExiste.NomeUsuario,
                                              "Confirmação de alteração de senha", "Senha alterada com sucesso!", "Conforme a solicitação da alteração de senha, confirmamos que sua senha foi alterada com sucesso, faça o login na plataforma inserindo os novos dados, muito obrigado!", null);

                command.Senha = Senha.CriptografarSenha(command.Senha);

                usuarioAdminExiste.Alterarsenha(command.Senha);

                _adminRepositorio.Alterar(usuarioAdminExiste);

                return(new GenericCommandResult(true, "Senha alterada com sucesso", usuarioAdminExiste));
            }

            var usuarioAlunoExiste = _alunoRepositorio.BuscarPorEmail(command.Email);

            if (usuarioAlunoExiste != null)
            {
                _ = SendEmailGrid.EnviarEmail(usuarioAlunoExiste.Email, usuarioAlunoExiste.NomeUsuario,
                                              "Confirmação de alteração de senha", "Senha alterada com sucesso!", "Conforme a solicitação da alteração de senha, confirmamos que sua senha foi alterada com sucesso, faça o login na plataforma inserindo os novos dados, muito obrigado!", null);

                command.Senha = Senha.CriptografarSenha(command.Senha);

                usuarioAlunoExiste.Alterarsenha(command.Senha);

                _alunoRepositorio.Alterar(usuarioAlunoExiste);

                return(new GenericCommandResult(true, "Senha alterada com sucesso", usuarioAlunoExiste));
            }

            var usuarioProfessorExiste = _professorRepositorio.BuscarProfessorPorEmail(command.Email);

            if (usuarioProfessorExiste != null)
            {
                _ = SendEmailGrid.EnviarEmail(usuarioAlunoExiste.Email, usuarioAlunoExiste.NomeUsuario,
                                              "Confirmação de alteração de senha", "Senha alterada com sucesso!", "Conforme a solicitação da alteração de senha, confirmamos que sua senha foi alterada com sucesso, faça o login na plataforma inserindo os novos dados, muito obrigado!", null);

                command.Senha = Senha.CriptografarSenha(command.Senha);

                usuarioProfessorExiste.Alterarsenha(command.Senha);

                _professorRepositorio.AlterarProfessor(usuarioProfessorExiste);

                return(new GenericCommandResult(true, "Senha alterada com sucesso", usuarioProfessorExiste));
            }

            return(new GenericCommandResult(true, "Usuário não encontrado", null));
        }
Exemplo n.º 3
0
        public ICommandResult Handler(EsqueciSenhaCommand command)
        {
            command.Validar();

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

            var novaSenha = Senha.Gerar();

            var novaSenhaEncriptografada = Senha.CriptografarSenha(novaSenha);


            var usuarioAdminExiste = _adminRepositorio.BuscarPorEmail(command.Email);

            if (usuarioAdminExiste != null)
            {
                _ = SendEmailGrid.EnviarEmail(usuarioAdminExiste.Email, usuarioAdminExiste.NomeUsuario,
                                              "Confirmação de nova senha", "Senha alterada com sucesso!", $"Conforme a solicitação da alteração de senha, nos da plataforma CodeTur disponibizamos uma nova senha para você, faça o login na plataforma inserindo os novos dados e sinta-se a vontade para altera-lá quando precisar, muito obrigado!<br><br>Sua nova senha é: ", novaSenha);

                usuarioAdminExiste.Alterarsenha(novaSenhaEncriptografada);

                _adminRepositorio.Alterar(usuarioAdminExiste);

                return(new GenericCommandResult(true, "Nova senha gerada com sucesso", novaSenha));
            }

            var usuarioAlunoExiste = _alunoRepositorio.BuscarPorEmail(command.Email);

            if (usuarioAlunoExiste != null)
            {
                _ = SendEmailGrid.EnviarEmail(usuarioAlunoExiste.Email, usuarioAlunoExiste.NomeUsuario,
                                              "Confirmação de nova senha", "Senha alterada com sucesso!", $"Conforme a solicitação da alteração de senha, nos da plataforma CodeTur disponibizamos uma nova senha para você, faça o login na plataforma inserindo os novos dados e sinta-se a vontade para altera-lá quando precisar, muito obrigado!<br><br>Sua nova senha é: ", novaSenha);

                usuarioAlunoExiste.Alterarsenha(novaSenhaEncriptografada);

                _alunoRepositorio.Alterar(usuarioAlunoExiste);

                return(new GenericCommandResult(true, "Nova senha gerada com sucesso", novaSenha));
            }

            var usuarioProfessorExiste = _professorRepositorio.BuscarProfessorPorEmail(command.Email);

            if (usuarioProfessorExiste != null)
            {
                _ = SendEmailGrid.EnviarEmail(usuarioProfessorExiste.Email, usuarioProfessorExiste.NomeUsuario,
                                              "Confirmação de nova senha", "Senha alterada com sucesso!", $"Conforme a solicitação da alteração de senha, nos da plataforma CodeTur disponibizamos uma nova senha para você, faça o login na plataforma inserindo os novos dados e sinta-se a vontade para altera-lá quando precisar, muito obrigado!<br><br>Sua nova senha é: ", novaSenha);

                usuarioProfessorExiste.Alterarsenha(novaSenhaEncriptografada);

                _professorRepositorio.AlterarProfessor(usuarioProfessorExiste);

                return(new GenericCommandResult(true, "Nova senha gerada com sucesso", novaSenha));
            }

            return(new GenericCommandResult(true, "Usuário não encontrado", null));
        }
        public ICommandResult Handler(LogarCommand command)
        {
            command.Validar();

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

            var usuarioAdminExiste = _adminRepositorio.BuscarPorEmail(command.Email);

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

                return(new GenericCommandResult(true, "Usuário Logado com sucesso", usuarioAdminExiste));
            }

            var usuarioAlunoExiste = _alunoRepositorio.BuscarPorEmail(command.Email);

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

                return(new GenericCommandResult(true, "Usuário Logado com sucesso", usuarioAlunoExiste));
            }

            var usuarioProfessorExiste = _professorRepositorio.BuscarProfessorPorEmail(command.Email);

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

                return(new GenericCommandResult(true, "Professor logado com sucesoo", usuarioProfessorExiste));
            }

            return(new GenericCommandResult(false, "Usuário não encontrado", null));
        }
Exemplo n.º 5
0
        public ICommandResult Handler(AlterarAlunoCommand command)
        {
            command.Validar();

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

            var aluno = _alunoRepositorio.BuscarPorId(command.Id);

            if (aluno == null)
            {
                return(new GenericCommandResult(false, "Aluno Não Encontrado", command.Notifications));
            }

            if (command.Email != aluno.Email)
            {
                var emailNovoExistente = _alunoRepositorio.BuscarPorEmail(command.Email);

                if (emailNovoExistente != null)
                {
                    return(new GenericCommandResult(false, "Este e-mail já está vinculado a uma conta, informe outro email", command.Notifications));
                }
            }

            aluno.AlterarAluno(command.Nome, command.Telefone, command.Email, command.Rg, command.Cpf, command.DataNascimento, command.FotoAluno);

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

            _alunoRepositorio.Alterar(aluno);

            return(new GenericCommandResult(true, "Aluno Alterado!", aluno));
        }