Пример #1
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));
        }
Пример #2
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));
        }
        public ICommandResult Handler(AlterarContaCommand command)
        {
            //Verifica se o comando recebido é válido.
            command.Validar();

            //Verifica se os dados são válidos.
            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Dados Inválidos", command.Notifications));
            }

            //Variável de apoio para validação de email.
            var usuarioExiste = _adminRepositorio.BuscarPorId(command.Id);

            //Verifica se o email do usuário já foi cadastrado no banco.
            if (usuarioExiste == null)
            {
                return(new GenericCommandResult(false, "Administrdor não encontrado", null));
            }

            if (command.Email != usuarioExiste.Email)
            {
                var novoEmailExistente = _adminRepositorio.BuscarPorEmail(command.Email);

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

            usuarioExiste.AlterarAdmin(command.Nome, command.Email, command.Telefone);

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

            _adminRepositorio.Alterar(usuarioExiste);

            return(new GenericCommandResult(true, "Administrador alterado com sucesso", usuarioExiste));
        }
Пример #5
0
        public ICommandResult Handler(CadastrarContaCommand command)
        {
            //Verifica se o comando recebido é válido.
            command.Validar();

            //Verifica se os dados são válidos.
            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Dados Inválidos", command.Notifications));
            }

            //Variável de apoio para validação de email.
            var usuarioExiste = _adminRepositorio.BuscarPorEmail(command.Email);

            //Verifica se o email do usuário já foi cadastrado no banco.
            if (usuarioExiste != null)
            {
                return(new GenericCommandResult(false, "Email já cadastrado", null));
            }

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

            //Salvar no banco
            var admin = new Admin(command.Nome, command.Email, command.Senha, command.Telefone);

            if (admin.Valid)
            {
                _adminRepositorio.Cadastrar(admin);
            }

            _ = SendEmailGrid.EnviarEmail(admin.Email, admin.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!", admin));
        }