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

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

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

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

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

            var professor = new Professor(command.Nome, command.Email, command.Email, command.Telefone, command.FotoProfessor);

            if (professor.Valid)
            {
                _professorRepositorio.AdicionarProfessor(professor);
            }

            _ = SendEmailGrid.EnviarEmail(professor.Email, professor.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, "Professor cadastrado com sucesso", professor));
        }
コード例 #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));
        }
コード例 #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));
        }
コード例 #4
0
        public IQueryResult Handle(BuscarProfessorQuery command)
        {
            command.Validate();

            if (command.BuscarEmail != null)
            {
                if (command.Invalid)
                {
                    return(new GenericQueryResult(false, "Dados inválidos", command.Notifications));
                }

                var professorProcuradoEmail = _repositorio.BuscarProfessorPorEmail(command.BuscarEmail);

                if (professorProcuradoEmail == null)
                {
                    return(new GenericQueryResult(false, "Professor não encontrado", null));
                }

                var professorEmailResult = new BuscarProfessorResult
                {
                    Id            = professorProcuradoEmail.Id,
                    NomeUsuario   = professorProcuradoEmail.NomeUsuario,
                    Email         = professorProcuradoEmail.Email,
                    Telefone      = professorProcuradoEmail.Telefone,
                    FotoProfessor = professorProcuradoEmail.FotoProfessor,
                };

                return(new GenericQueryResult(true, "Dados do professor", professorEmailResult));
            }

            var professorProcurado = _repositorio.BuscarProfessorPorId(command.BuscarId);

            if (professorProcurado == null)
            {
                return(new GenericQueryResult(false, "Professor não encontrado", null));
            }

            var professorResult = new BuscarProfessorResult
            {
                Id            = professorProcurado.Id,
                NomeUsuario   = professorProcurado.NomeUsuario,
                Email         = professorProcurado.Email,
                Telefone      = professorProcurado.Telefone,
                FotoProfessor = professorProcurado.FotoProfessor,
            };

            return(new GenericQueryResult(true, "Dados do professor", professorResult));
        }
コード例 #5
0
        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(AlterarProfessorCommand command)
        {
            command.Validar();

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

            var professorExiste = _professorRepositorio.BuscarProfessorPorId(command.Id);

            if (professorExiste == null)
            {
                return(new GenericCommandResult(false, "Professor não encontrado", null));
            }

            if (command.Email != professorExiste.Email)
            {
                var novoEmailExistente = _professorRepositorio.BuscarProfessorPorEmail(command.Email);

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

            professorExiste.AlterarProfessor(command.Nome, command.Email, command.Telefone, command.FotoProfessor);

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

            _professorRepositorio.AlterarProfessor(professorExiste);

            return(new GenericCommandResult(true, "Dados alterador com sucesso", professorExiste));
        }