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)); }
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)); }
/// <summary> /// Método para validar os processos para alterar a senha de um usuário /// </summary> /// <param name="_command">Comando de alteração do usuário</param> /// <returns>Dados salvos ou erros gerados</returns> public ICommandResult Handle(AlterarSenhaCommand _command) { //1º - Validando se o command recebido é válido _command.Validar(); //Caso seja inválido, recebemos quando são os valores incorretos identificados por ele if (_command.Invalid) { return(new GenericCommandResult(false, "Informe os dados corretamente", _command.Notifications)); } //2º - Verificando se o email de usuário pertence a nossa base de dados var _emailUsuarioExistente = _repository.BuscarUsuarioPorEmail(_command.Email); //Caso o email não exista, informe ao usuário que o usuário informado não existe if (_emailUsuarioExistente == null) { return(new GenericCommandResult(false, "Conta de email não encontrada, informe um e-mail cadastrado", _command.Notifications)); } //3º - Enviando um email de confirmação da nova senha _ = SendEmailGrid.EnviarEmail(_emailUsuarioExistente.Email, _emailUsuarioExistente.Nome, "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); //4º - Encriptografando a nova senha _command.Senha = HashDeSenha.EncriptografarSenha(_command.Senha); //5º - Passando para o objeto alterar os seus dados _emailUsuarioExistente.AlterarSenha(_command.Senha); //6º - Salvando os dados na base de dados _repository.AlterarUsuario(_emailUsuarioExistente); //Caso não haja erros, alteramos as informações return(new GenericCommandResult(true, "Senha alterada com sucesso", _emailUsuarioExistente)); }
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)); }
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)); }
/// <summary> /// Método para validar os processos para criar um usuário /// </summary> /// <param name="_command">Comando de criação do usuário</param> /// <returns>Dados salvos ou erros gerados</returns> public ICommandResult Handle(CriarUsuarioCommand _command) { //1º - Validando se o command recebido é válido _command.Validar(); //Caso seja inválido, recebemos quando são os valores incorretos identificados por ele if (_command.Invalid) { return(new GenericCommandResult(false, "Informe os dados corretamente", _command.Notifications)); } //2º - Verificando se o email de usuário já não pertence a nossa base de dados var _emailUsuarioExistente = _repository.BuscarUsuarioPorEmail(_command.Email); //Caso o email exista, informe ao usuário que o email informado já está em uso if (_emailUsuarioExistente != null) { return(new GenericCommandResult(false, "E-mail já cadastrado, informe um novo e-mail", _command.Notifications)); } //3º - Criptografando a senha informada pelo usuário _command.Senha = HashDeSenha.EncriptografarSenha(_command.Senha); //4º - Criando uma nova instância de usuário com os dados capturados var _usuario = new Usuario(_command.Nome, _command.Email, _command.Senha, _command.TipoPerfil); //Verificando se o usuário informou um número de telefone if (!string.IsNullOrEmpty(_command.Telefone)) { //Caso sim, atrelar o telefone ao usuário _usuario.AdicionarTelefone(_command.Telefone); } //5º - Validando os dados do usuário if (_usuario.Invalid) { return(new GenericCommandResult(false, "Dados do usuário inválidos", _usuario.Notifications)); } //6º - Enviar um email de notificação para o usuário _ = SendEmailGrid.EnviarEmail(_usuario.Email, _usuario.Nome, "Confirmação de cadastro", "Seu cadastro foi realizado", "Olá, é um grande prazer receber você na nossa plataforma CodeTur, esperamos que você possa aproveitar nossos serviços, muito obrigado pelo interesse!", null); //7º - Salvando no banco de dados _repository.AdicionarUsuario(_usuario); return(new GenericCommandResult(true, "Usuário criado com sucesso", _usuario)); }
/// <summary> /// Método para validar os processos para resetar a senha do usuário /// </summary> /// <param name="_command">Comando de resetar a senha do usuário</param> /// <returns>Dados salvos ou erros gerados</returns> public ICommandResult Handle(EsqueciSenhaCommand _command) { //1º - Validando se o command recebido é válido _command.Validar(); //Caso seja inválido, recebemos quando são os valores incorretos identificados por ele if (_command.Invalid) { return(new GenericCommandResult(false, "Informe os dados corretamente", _command.Notifications)); } //2º - Verificando se o email de usuário pertence a nossa base de dados var _usuarioExistente = _repository.BuscarUsuarioPorEmail(_command.Email); //Caso o email não exista, informe ao usuário que o email informado já está em uso if (_usuarioExistente == null) { return(new GenericCommandResult(false, "E-mail não cadastrado, informe um e-mail válido", _command.Notifications)); } //3º - Gerando uma nova senha para o usuário var _novaSenha = RandomPassword.GeradorDeSenha(); //4º - Enviando a nova senha gerada para o email _ = SendEmailGrid.EnviarEmail(_usuarioExistente.Email, _usuarioExistente.Nome, "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); //5º - Encriptografando a nova senha var _novaSenhaEncriptografada = HashDeSenha.EncriptografarSenha(_novaSenha); //6º - Salvar a nova senha no banco de dados _usuarioExistente.AlterarSenha(_novaSenhaEncriptografada); //7º - Salvando novos dados na base de dados _repository.AlterarUsuario(_usuarioExistente); //Caso não haja erros, alteramos a senha do usuario return(new GenericCommandResult(true, "Nova senha gerada com sucesso", _novaSenha)); }
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)); }