示例#1
0
 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)
示例#2
0
 def enviarEmail(self, codigo: int):
     novaPessoa = PessoaDTO(codigo, "", "")
     self.pessoa = self.agenda.selecionaContato(novaPessoa, 2)
     dados = self.view.formularioEmail(self.pessoa.contatos[0])
     try:
         envioDeEmail = EnviarEmail()
         envioDeEmail.setDadosDestinario(self.pessoa.contatos[0].numero,
                                         dados[0])
         envioDeEmail.setDadosRemetente(self.usuario)
         envioDeEmail.setMensagem(dados[1])
         envioDeEmail.enviarEmail()
         input("Enviado com Sucesso")
     except Exception:
         input("Falha no envio, favor verificar o email do destinatário")
示例#3
0
 def selecionaPessoa(self, nome: str, ultimo: bool, codigo: int = -1):
     if ultimo == False and codigo == -1:
         pessoasSelecionadas = self.conexao.execute(
             "Select * from tb_pessoa where nm_pessoa like \"%{}%\" order by nm_pessoa"
             .format(nome)).fetchall()
     elif ultimo == False and codigo != -1:
         pessoasSelecionadas = self.conexao.execute(
             "Select * from tb_pessoa where cd_pessoa = {}".format(
                 codigo)).fetchall()
     else:
         pessoasSelecionadas = self.conexao.execute(
             "Select * from tb_pessoa where cd_pessoa = (select max(cd_pessoa) from tb_pessoa)"
         ).fetchall()
     pessoas = []
     for pessoaEncontrada in pessoasSelecionadas:
         pessoas.append(
             PessoaDTO(pessoaEncontrada[0], pessoaEncontrada[1], ""))
     return pessoas
示例#4
0
 def selecionaContato(self, pessoa: PessoaDTO, opcao: int = 0):
     if opcao == 1:
         contatosSelecionados = self.conexao.execute(
             "Select c.cd_contato, c.ds_contato, t.nm_tipo_contato from tb_contato as c join tb_tipo_contato as t on c.cd_tipo_contato = t.cd_tipo_contato where c.cd_pessoa = {} and c.cd_tipo_contato = 2"
             .format(pessoa.codigo)).fetchall()
     elif opcao == 2:
         contatosSelecionados = self.conexao.execute(
             "Select c.cd_contato, c.ds_contato, t.nm_tipo_contato from tb_contato as c join tb_tipo_contato as t on c.cd_tipo_contato = t.cd_tipo_contato where c.cd_contato = {}"
             .format(pessoa.codigo)).fetchall()
     elif opcao == 0:
         contatosSelecionados = self.conexao.execute(
             "Select c.cd_contato, c.ds_contato, t.nm_tipo_contato from tb_contato as c join tb_tipo_contato as t on c.cd_tipo_contato = t.cd_tipo_contato where c.cd_pessoa = {}"
             .format(pessoa.codigo)).fetchall()
     contatos = []
     for contatoEncontrado in contatosSelecionados:
         contatos.append(
             ContatoDTO(contatoEncontrado[0], contatoEncontrado[1], 0,
                        contatoEncontrado[2], pessoa.codigo))
     pessoa.contatos = contatos
     return pessoa
示例#5
0
 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
示例#6
0
 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
示例#7
0
 def __init__(self, codigo, numero, codigoTipo, nomeTipo, codigoPessoa):
     self.codigo = codigo
     self.numero = numero
     self.tipoContato = TipoContatoDTO(codigoTipo, nomeTipo)
     self.pessoa = PessoaDTO(codigoPessoa, "", "")