def index(self): sair = False while sair == False: opcao = "a" hasCaracteresEspeciais = True hasCaracteresAlpha = True while (opcao.isalpha() or opcao == "" or hasCaracteresEspeciais or hasCaracteresAlpha or (opcao.isnumeric() and (int(opcao) < 1 or int(opcao) > 3))): opcao = self.loginView.index() hasCaracteresEspeciais = TextoUtil( ).verificarTextoComCaracteresEspeciais(opcao) hasCaracteresAlpha = TextoUtil().verificarTextoComAlpha(opcao) if (opcao == ""): self.loginView.colocarMensagem(7) else: if (hasCaracteresAlpha): self.loginView.colocarMensagem(3) else: if (hasCaracteresEspeciais): self.loginView.colocarMensagem(5) else: if (opcao.isnumeric() and (int(opcao) < 1 or int(opcao) > 3)): self.loginView.colocarMensagem(4) if (opcao.isalpha()): self.loginView.colocarMensagem(3) else: if (int(opcao) == 1): self.acessarContaGmail() elif (int(opcao) == 3): sair = True if (sair == False): principal = PrincipalController(self.usuarioDTO)
def __init__(self, isCadastro: bool = True): self.continuarCadastroContatosPessoa = False tela = AdicionarPessoaView() nome = "1" #setar erro esperado hasCaracteresEspeciais = True hasCaracteresNumericos = True while (nome.isnumeric() == True or hasCaracteresEspeciais or hasCaracteresNumericos or nome == "" or len(nome) > 100): nome = tela.formulario(isCadastro) hasCaracteresEspeciais = TextoUtil( ).verificarTextoComCaracteresEspeciais(nome) hasCaracteresNumericos = TextoUtil().verificarTextoComNumeros(nome) if (nome.isnumeric() or hasCaracteresNumericos): tela.colocarMensagem(1) if (nome == ""): tela.colocarMensagem(2) if (len(nome) > 100): tela.colocarMensagem(3) if (hasCaracteresEspeciais): tela.colocarMensagem(6) self.pessoa = PessoaDTO(0, nome, "") tela.aparecerObservacoes(1) opcao = "a" if (isCadastro): while (opcao.isalpha() or opcao == "" or (opcao.isnumeric() and (int(opcao) < 0 or int(opcao) > 1))): opcao = tela.posFormulario() if (opcao.isalpha()): tela.colocarMensagem(5) else: if (int(opcao) == 0): self.continuarCadastroContatosPessoa = True if (opcao.isnumeric() and (int(opcao) < 0 or int(opcao) > 1)): tela.colocarMensagem(4)
def validarCodigo(self, opcao: int = 1): codigo = "a" naoExisteContato = True hasCaracteresAlpha = True hasCaracteresEspeciais = True while (codigo.isalpha() or codigo == "" or naoExisteContato or hasCaracteresAlpha or hasCaracteresEspeciais): self.view.inicio(self.pessoa) codigo = self.view.procurarCodigo(opcao) hasCaracteresEspeciais = TextoUtil( ).verificarTextoComCaracteresEspeciais(codigo) hasCaracteresAlpha = TextoUtil().verificarTextoComAlpha(codigo) if (codigo == ""): self.view.colocarMensagem(7) else: if (hasCaracteresEspeciais): self.view.colocarMensagem(6) else: if (codigo.isalpha() or hasCaracteresAlpha): self.view.colocarMensagem(3) else: for contato in self.pessoa.contatos: if (int(codigo) == contato.codigo): naoExisteContato = False break if (naoExisteContato): self.view.colocarMensagem(4) return codigo
def index(self, pessoa: PessoaDTO, continuarCadastroContatosPessoa: bool): sair = False while (sair == False): opcao = "a" hasCaracteresEspeciais = True hasCaracteresAlpha = True while (opcao.isalpha() or opcao == "" or hasCaracteresEspeciais or hasCaracteresAlpha or (opcao.isnumeric() and (int(opcao) < 1 or int(opcao) > 6))): if (continuarCadastroContatosPessoa): self.pessoa = self.agenda.selecionaContato( self.agenda.selecionaPessoa("", True)[0]) else: self.pessoa = self.agenda.selecionaContato( self.agenda.selecionaPessoa("", False, pessoa.codigo)[0]) self.view.inicio(self.pessoa) opcao = self.view.menu() hasCaracteresEspeciais = TextoUtil( ).verificarTextoComCaracteresEspeciais(opcao) hasCaracteresAlpha = TextoUtil().verificarTextoComAlpha(opcao) if (opcao == ""): self.view.colocarMensagem(7) else: if (hasCaracteresEspeciais): self.view.colocarMensagem(5) else: if (opcao.isalpha() or hasCaracteresAlpha): self.view.colocarMensagem(1) else: if int(opcao) == 1: contatoController = ContatoController() contatoController.formulario(self.pessoa) elif int(opcao) == 2: codigo = self.validarCodigo() contatoController = ContatoController() contatoController.formulario( self.pessoa, False, codigo) elif int(opcao) == 3: codigo = self.validarCodigo(0) self.agenda.deletaContato( ContatoDTO(codigo, "", "", "", "")) elif int(opcao) == 4: adicionarPessoa = AdicionarPessoasController( False) self.pessoa.nome = adicionarPessoa.pessoa.nome self.agenda.atualizarPessoa(self.pessoa) elif int(opcao) == 5: sair = True elif int(opcao) == 6: if (self.usuario.logado): self.pessoa = self.agenda.selecionaContato( self.pessoa, 1) self.enviarEmail(self.validarCodigo(2)) else: self.view.erroEnviarEmail() if (opcao.isnumeric() and (int(opcao) < 1 or int(opcao) > 6)): self.view.colocarMensagem(2)
def procurarPessoasPorCodigo(self, pessoas, principal, mostrarPessoas: bool = True, isDeletar: bool = False): codigo = "a" naoTemPessoa = True hasCaracteresEspeciais = True hasCaracteresAlpha = True while (codigo.isalpha() or codigo == "" or hasCaracteresEspeciais or hasCaracteresAlpha or naoTemPessoa): if (mostrarPessoas): principal.mostrarAgenda(pessoas) codigo = principal.selecionarPessoaPorCodigo() hasCaracteresEspeciais = TextoUtil( ).verificarTextoComCaracteresEspeciais(codigo) hasCaracteresAlpha = TextoUtil().verificarTextoComAlpha(codigo) if (codigo == ""): principal.colocarMensagem(7) else: if (hasCaracteresEspeciais): principal.colocarMensagem(6) else: if (codigo.isalpha() or hasCaracteresAlpha): principal.colocarMensagem(1) else: for pessoa in pessoas: if (int(codigo) == int(pessoa.codigo)): naoTemPessoa = False break if (naoTemPessoa): principal.colocarMensagem(2) if (isDeletar == False): pessoaController = PessoaController(self.usuario) pessoaController.index(PessoaDTO(codigo, "", ""), False) return codigo
def __init__(self, usuario: UsuarioDTO = UsuarioDTO("", "")): principal = PrincipalView(usuario) self.usuario = usuario agenda = AgendaDAO() sair = False while sair == False: opcao = "a" hasCaracteresEspeciais = True hasCaracteresAlpha = True while (opcao.isalpha() or opcao == "" or hasCaracteresEspeciais or hasCaracteresAlpha or (opcao.isnumeric() and (int(opcao) < 1 or int(opcao) > 5))): pessoas = agenda.selecionaPessoa("", False) principal.mostrarAgenda(pessoas) opcao = principal.menu() hasCaracteresEspeciais = TextoUtil( ).verificarTextoComCaracteresEspeciais(opcao) hasCaracteresAlpha = TextoUtil().verificarTextoComAlpha(opcao) if (opcao == ""): principal.colocarMensagem(7) else: if (hasCaracteresAlpha): principal.colocarMensagem(3) else: if (hasCaracteresEspeciais): principal.colocarMensagem(5) else: if (opcao.isnumeric() and (int(opcao) < 1 or int(opcao) > 5)): principal.colocarMensagem(4) if (opcao.isalpha()): principal.colocarMensagem(3) else: if int(opcao) == 1: pessoaController = PessoaController( self.usuario) adicionarPessoas = AdicionarPessoasController( ) agenda.criaPessoa(adicionarPessoas.pessoa) if adicionarPessoas.continuarCadastroContatosPessoa == True: pessoaController.index( "", adicionarPessoas. continuarCadastroContatosPessoa) elif int(opcao) == 2: self.procurarPessoasPorCodigo( pessoas, principal) elif int(opcao) == 3: principal.mostrarAgenda(pessoas) nome = principal.selecionarPessoaPorNome() pessoasPorNome = agenda.selecionaPessoa( nome, False) if (len(pessoasPorNome) > 0): principal.mostrarAgenda(pessoasPorNome) self.procurarPessoasPorCodigo( pessoasPorNome, principal, True) else: principal.nenhumContatoEncontrado(nome) elif int(opcao) == 4: codigo = self.procurarPessoasPorCodigo( pessoas, principal, True, True) agenda.deletaPessoa( PessoaDTO(codigo, "", "")) elif int(opcao) == 5: sair = True
def formulario(self,pessoa:PessoaDTO, isCadastro:bool = True, codigo:int = -1): self.contato = ContatoDTO("0", "1", "b", "b", pessoa.codigo) #setar contato com o pior dado possivel para validação tipos = self.agenda.selecionaTiposContato() #primeiro pedir tipo do contato hasCaracteresEspeciais = True hasCaracteresAlpha = True while(self.contato.tipoContato.codigo.isalpha() or hasCaracteresEspeciais or hasCaracteresAlpha or self.contato.tipoContato.codigo == "" or (self.contato.tipoContato.codigo.isnumeric() and (int(self.contato.tipoContato.codigo) <0 or int(self.contato.tipoContato.codigo) > len(tipos) - 1))): self.contatoView.formulario(isCadastro) self.contato.tipoContato.codigo = self.contatoView.formularioTipoContato(tipos) hasCaracteresEspeciais = TextoUtil().verificarTextoComCaracteresEspeciais(self.contato.tipoContato.codigo) hasCaracteresAlpha = TextoUtil().verificarTextoComAlpha(self.contato.tipoContato.codigo) if(self.contato.tipoContato.codigo == ""): self.contatoView.colocarMensagem(3) else: if(hasCaracteresEspeciais): self.contatoView.colocarMensagem(11) else: if(self.contato.tipoContato.codigo.isalpha() or hasCaracteresAlpha): self.contatoView.colocarMensagem(1) else: if(int(self.contato.tipoContato.codigo) == 0): self.continuarCadastroContatosPessoa = True if(self.contato.tipoContato.codigo.isnumeric() and (int(self.contato.tipoContato.codigo) <0 or int(self.contato.tipoContato.codigo) > len(tipos)-1)): self.contatoView.colocarMensagem(2) erroDeFormato = True while(erroDeFormato or self.contato.numero == ""): self.contatoView.formulario(isCadastro) self.contato.numero = self.contatoView.formularioNumero(self.contato.tipoContato.codigo) erroDeFormato = False if(self.contato.numero == ""): self.contatoView.colocarMensagem(3) else: if(int(self.contato.tipoContato.codigo) == 0): if(self.contato.numero.isalpha() or TextoUtil().verificarTextoComAlpha(self.contato.numero)): self.contatoView.colocarMensagem(4) erroDeFormato = True if(len(self.contato.numero) != 10): self.contatoView.colocarMensagem(5) erroDeFormato = True if(TextoUtil().verificarTextoComCaracteresEspeciais(self.contato.numero)): self.contatoView.colocarMensagem(12) erroDeFormato = True elif(int(self.contato.tipoContato.codigo) == 1): if(self.contato.numero.isalpha() or TextoUtil().verificarTextoComAlpha(self.contato.numero)): self.contatoView.colocarMensagem(6) erroDeFormato = True if(len(self.contato.numero) != 11): self.contatoView.colocarMensagem(7) erroDeFormato = True if(TextoUtil().verificarTextoComCaracteresEspeciais(self.contato.numero)): self.contatoView.colocarMensagem(13) erroDeFormato = True elif(int(self.contato.tipoContato.codigo) == 2): tuplaDeErro = Validador().validarEmail(self.contato.numero) erroDeFormato = tuplaDeErro[0] self.contatoView.mensagem += tuplaDeErro[1] self.contatoView.mensagemSucesso() if(isCadastro): self.agenda.criaContato(self.contato) else: self.contato.codigo = codigo self.agenda.alteraContato(self.contato)