示例#1
0
import sys
sys.path.append("./negocio")
sys.path.append("./persistencia")

from cliente import Cliente #negocio
from dependente import Dependente #negocio
from clienteDAO import ClienteDAO #persistencia
from dependenteDAO import DependenteDAO #persistencia
from conexao import Conexao #persistencia


# http://initd.org/psycopg/

conexao = Conexao("trabalho")
clienteDAO = ClienteDAO(conexao)

vetCliente = clienteDAO.listaTodos()
cliente = vetCliente[5]
print str(cliente.id) + ":" + cliente.nome
for dep in cliente.vetDependente:
	print str(dep.id) + ":" + dep.nome 


novoCliente = Cliente("Novo Igor", "Novo Quiosque", 1111111)
novoCliente.adicionarDependente(Dependente("dep 1 de 10", "trans"))
clienteDAO.inserir(novoCliente)

novoDependente = Dependente("deve dar erro", "hercules")
novoDependente.cliente = novoCliente
DependenteDAO(conexao).inserir(novoDependente)
示例#2
0
class EfetuaLocacao(Toplevel):
    '''Classe interface locar veiculo'''
    def __init__(self, master=None):

        Toplevel.__init__(self, master=master)
        self.veiculo = Veiculo()
        self.dao = LocacaoDAO()
        self.dao_cliente = ClienteDAO()
        self.dao_veiculo = VeiculoDAO()

        self.geometry('1500x850+0+0')
        self.title('Locar veículo')
        self.resizable(0, 0)  # impede de maximizar
        self.configure(background='#c9c9ff')

        self.valores_diarias = []
        self.lista_compra_final = []

        self.locacao = Locacao()

        # VARIAVEIS DE DATA
        now = datetime.now()  # current date and time
        year = now.strftime("%Y")
        month = now.strftime("%m")
        day = now.strftime("%d")
        time = now.strftime("%H:%M:%S")
        date_time = now.strftime("%d/%m/%Y, %H:%M:%S")

        # GUI ==============================================
        self.id_veiculo = Label(self,
                                text="Código do veículo :",
                                bg='#c9c9ff',
                                fg='white',
                                font=('Verdana 15 bold'))
        self.id_veiculo.place(x=700, y=70)
        self.id_veiculo_entry = Entry(self, width=20, font=('Verdana 15 bold'))
        self.id_veiculo_entry.place(x=1000, y=70)

        self.valor_locacao = Label(self,
                                   text="Valor total:",
                                   bg='#c9c9ff',
                                   fg='white',
                                   font=('Verdana 15 bold'))
        self.valor_locacao.place(x=700, y=120)
        self.valor_locacao_entry = Entry(self,
                                         width=20,
                                         font=('Verdana 15 bold'))
        self.valor_locacao_entry.place(x=1000, y=120)
        '''
        self.valor_locacao_entry = Entry(self , width=20, font=(
        'Verdana 15 bold'))
        self.valor_locacao_entry.place(x=1000, y=120)
        '''
        # BOTOES SUPERIORESS ===================================================================
        self.botao_calcular_pagamento = Button(self,
                                               text="Calcular \npagamento",
                                               width=10,
                                               height=4,
                                               bg='#baffc9',
                                               fg='black',
                                               font=('Verdana 15 bold'),
                                               command=self.calcular_pagamento)
        self.botao_calcular_pagamento.place(x=700, y=180)

        self.botao_locar_veiculo = Button(self,
                                          text="Finalizar \nlocacao",
                                          width=10,
                                          height=4,
                                          bg='#baffc9',
                                          fg='black',
                                          font=('Verdana 15 bold'),
                                          command=self.get_items)
        self.botao_locar_veiculo.place(x=920, y=180)

        self.botao_sair = Button(self,
                                 text="Sair",
                                 width=10,
                                 height=4,
                                 bg='#ffb3ba',
                                 fg='black',
                                 font=('Verdana 15 bold'),
                                 command=self.close)
        self.botao_sair.place(x=1135, y=180)

        self.data_inicial = Label(self,
                                  text="Data inicial :",
                                  bg='#c9c9ff',
                                  fg='white',
                                  font=('Verdana 15 bold'))
        self.data_inicial.place(x=80, y=70)
        self.data_inicial_entry = Entry(self,
                                        width=20,
                                        font=('Verdana 15 bold'))
        self.data_inicial_entry.place(x=370, y=70)
        self.data_inicial_entry.insert(END, date_time)

        self.id_cliente = Label(self,
                                text="Código do cliente :",
                                bg='#c9c9ff',
                                fg='white',
                                font=('Verdana 15 bold'))
        self.id_cliente.place(x=80, y=120)
        self.id_cliente_entry = Entry(self, width=20, font=('Verdana 15 bold'))
        self.id_cliente_entry.place(x=370, y=120)

        # self.data_final = Label(self, text="Data final :", bg='#c9c9ff', fg='white', font=(
        #     'Verdana 15 bold'))
        # self.data_final.place(x=80, y=170)
        # self.data_final_entry = Entry(self, width=20, font=(
        #     'Verdana 15 bold'))
        # self.data_final_entry.place(x=370, y=170)

        self.quant_diarias = Label(self,
                                   text="Quantidade de diárias :",
                                   bg='#c9c9ff',
                                   fg='white',
                                   font=('Verdana 15 bold'))
        self.quant_diarias.place(x=80, y=220)
        self.quant_diarias_entry = Entry(self,
                                         width=20,
                                         font=('Verdana 15 bold'))
        self.quant_diarias_entry.place(x=370, y=220)

        self.valor_diaria = Label(self,
                                  text="Valor da diária :",
                                  bg='#c9c9ff',
                                  fg='white',
                                  font=('Verdana 15 bold'))
        self.valor_diaria.place(x=80, y=270)
        self.valor_diaria_entry = Entry(self,
                                        width=20,
                                        font=('Verdana 15 bold'))
        self.valor_diaria_entry.place(x=370, y=270)

        # BOX PARA ESCOLHER O VEICULO =====================================================================
        self.veiculostxt = Label(self,
                                 text="Escolha um veículo:",
                                 bg='#c9c9ff',
                                 fg='white',
                                 font=('Verdana 15 bold'))
        self.veiculostxt.place(x=30, y=340)
        self.lista_veiculos = Listbox(self,
                                      width=90,
                                      height=7,
                                      font=('Verdana 15 bold'))
        self.lista_veiculos.place(x=30, y=370)
        self.scrollbar_veiculos = Scrollbar(self)
        self.lista_veiculos.configure(
            yscrollcommand=self.scrollbar_veiculos.set)
        self.scrollbar_veiculos.configure(command=self.lista_veiculos.yview)
        self.scrollbar_veiculos.place(x=1293, y=370, relheight=0.22)
        # self.botao_selecionar_veiculo = Button(self, text="Selecionar \n veiculo", width=10, height=5, bg='#ffdfba', fg='black', font=(
        #     'Verdana 15 bold'))
        # self.botao_selecionar_veiculo.place(x=1320, y=400)

        # BOX PARA ESCOLHER O CLIENTE
        self.clientestxt = Label(self,
                                 text="Escolha um cliente:",
                                 bg='#c9c9ff',
                                 fg='white',
                                 font=('Verdana 15 bold'))
        self.clientestxt.place(x=30, y=570)
        self.lista_clientes = Listbox(self,
                                      width=90,
                                      height=7,
                                      font=('Verdana 15 bold'))
        self.lista_clientes.place(x=30, y=600)
        self.scrollbar_clientes = Scrollbar(self)
        self.lista_clientes.configure(
            yscrollcommand=self.scrollbar_clientes.set)
        self.scrollbar_clientes.configure(command=self.lista_clientes.yview)
        self.scrollbar_clientes.place(x=1293, y=600, relheight=0.22)
        # self.botao_selecionar_cliente = Button(self, text="Selecionar \n cliente", width=10, height=5, bg='#ffdfba', fg='black', font=(
        #     'Verdana 15 bold'))
        # self.botao_selecionar_cliente.place(x=1320, y=625)
        self.view_command()

        self.lista_veiculos.bind('<<ListboxSelect>>',
                                 self.selecionar_list_box_veiculos)
        self.lista_clientes.bind('<<ListboxSelect>>',
                                 self.selecionar_list_box_clientes)

    def calcular_pagamento(self):
        self.valor_locacao_entry.delete(0, END)
        self.valor_locacao_entry.insert(
            0,
            float(self.valor_diaria_entry.get()) *
            float(self.quant_diarias_entry.get()))

    def selecionar_list_box_veiculos(self, event):
        if self.lista_veiculos.curselection():
            indice = self.lista_veiculos.curselection()[0]
            self.selecionado = self.lista_veiculos.get(indice)
            self.id_veiculo_entry.delete(0, END)
            self.id_veiculo_entry.insert(0, self.selecionado[0])
            self.valor_diaria_entry.delete(0, END)
            self.valor_diaria_entry.insert(0, self.selecionado[14])

    def selecionar_list_box_clientes(self, event):
        if self.lista_clientes.curselection():
            indice = self.lista_clientes.curselection()[0]
            self.selecionado = self.lista_clientes.get(indice)
            self.id_cliente_entry.delete(0, END)
            self.id_cliente_entry.insert(0, self.selecionado[0])

    def view_command(self):
        "método para visualização dos resultados"
        try:
            rows = self.dao_cliente.view()
            self.lista_clientes.delete(0, END)
            for r in rows:
                self.lista_clientes.insert(END, r)
            rows = self.dao_veiculo.view()
            self.lista_veiculos.delete(0, END)
            for r in rows:
                self.lista_veiculos.insert(END, r)
        except Exception as e:
            print(e)

    # def calcular(self):
    #     # VARIAVEIS PARA CALCULAR QUANTIDADE DE DIARIAS

    #     valor_total = StringVar()
    #     var_quant_diarias = int(self.quant_diarias_entry.get())
    #     var_valor_diaria = int(self.valor_diaria_entry.get())
    #     total = var_quant_diarias*var_valor_diaria

    #     valor_total.set(total)
    #     self.valor_locacao_variavel = Label(self, textvariable=valor_total, bg='#c9c9ff', fg='white', font=(
    #         'Verdana 15 bold'))
    #     self.valor_locacao_variavel.place(x=1000, y=120)
        '''
        
        #var_data_final = self.data_final_entry.get()
        
        '''

    def get_items(self):
        self.locacao.id_cliente = self.id_cliente_entry.get()
        self.locacao.id_veiculo = self.id_veiculo_entry.get()
        self.locacao.data_inicial = self.data_inicial_entry.get()
        self.locacao.diarias = self.quant_diarias_entry.get()
        self.locacao.valor_locacao = self.valor_locacao_entry.get()

        if (self.locacao.id_cliente == '' or self.locacao.id_veiculo == ''
                or self.locacao.diarias == ''
                or self.locacao.valor_locacao == ''):
            tkinter.messagebox.showinfo("Aviso:", "Preencha todos os campos!")
        else:
            try:
                self.dao.insert(self.locacao)
                tkinter.messagebox.showinfo('Aviso!',
                                            'Dados Inseridos com sucesso!')
            except:
                tkinter.messagebox.showinfo('Aviso!', 'Erro ao inserir dados!')

    def close(self):
        self.dao.close()
        self.destroy()

    def run(self):
        self.mainloop()
示例#3
0
    def __init__(self, master=None):

        Toplevel.__init__(self, master=master)
        self.veiculo = Veiculo()
        self.dao = LocacaoDAO()
        self.dao_cliente = ClienteDAO()
        self.dao_veiculo = VeiculoDAO()

        self.geometry('1500x850+0+0')
        self.title('Locar veículo')
        self.resizable(0, 0)  # impede de maximizar
        self.configure(background='#c9c9ff')

        self.valores_diarias = []
        self.lista_compra_final = []

        self.locacao = Locacao()

        # VARIAVEIS DE DATA
        now = datetime.now()  # current date and time
        year = now.strftime("%Y")
        month = now.strftime("%m")
        day = now.strftime("%d")
        time = now.strftime("%H:%M:%S")
        date_time = now.strftime("%d/%m/%Y, %H:%M:%S")

        # GUI ==============================================
        self.id_veiculo = Label(self,
                                text="Código do veículo :",
                                bg='#c9c9ff',
                                fg='white',
                                font=('Verdana 15 bold'))
        self.id_veiculo.place(x=700, y=70)
        self.id_veiculo_entry = Entry(self, width=20, font=('Verdana 15 bold'))
        self.id_veiculo_entry.place(x=1000, y=70)

        self.valor_locacao = Label(self,
                                   text="Valor total:",
                                   bg='#c9c9ff',
                                   fg='white',
                                   font=('Verdana 15 bold'))
        self.valor_locacao.place(x=700, y=120)
        self.valor_locacao_entry = Entry(self,
                                         width=20,
                                         font=('Verdana 15 bold'))
        self.valor_locacao_entry.place(x=1000, y=120)
        '''
        self.valor_locacao_entry = Entry(self , width=20, font=(
        'Verdana 15 bold'))
        self.valor_locacao_entry.place(x=1000, y=120)
        '''
        # BOTOES SUPERIORESS ===================================================================
        self.botao_calcular_pagamento = Button(self,
                                               text="Calcular \npagamento",
                                               width=10,
                                               height=4,
                                               bg='#baffc9',
                                               fg='black',
                                               font=('Verdana 15 bold'),
                                               command=self.calcular_pagamento)
        self.botao_calcular_pagamento.place(x=700, y=180)

        self.botao_locar_veiculo = Button(self,
                                          text="Finalizar \nlocacao",
                                          width=10,
                                          height=4,
                                          bg='#baffc9',
                                          fg='black',
                                          font=('Verdana 15 bold'),
                                          command=self.get_items)
        self.botao_locar_veiculo.place(x=920, y=180)

        self.botao_sair = Button(self,
                                 text="Sair",
                                 width=10,
                                 height=4,
                                 bg='#ffb3ba',
                                 fg='black',
                                 font=('Verdana 15 bold'),
                                 command=self.close)
        self.botao_sair.place(x=1135, y=180)

        self.data_inicial = Label(self,
                                  text="Data inicial :",
                                  bg='#c9c9ff',
                                  fg='white',
                                  font=('Verdana 15 bold'))
        self.data_inicial.place(x=80, y=70)
        self.data_inicial_entry = Entry(self,
                                        width=20,
                                        font=('Verdana 15 bold'))
        self.data_inicial_entry.place(x=370, y=70)
        self.data_inicial_entry.insert(END, date_time)

        self.id_cliente = Label(self,
                                text="Código do cliente :",
                                bg='#c9c9ff',
                                fg='white',
                                font=('Verdana 15 bold'))
        self.id_cliente.place(x=80, y=120)
        self.id_cliente_entry = Entry(self, width=20, font=('Verdana 15 bold'))
        self.id_cliente_entry.place(x=370, y=120)

        # self.data_final = Label(self, text="Data final :", bg='#c9c9ff', fg='white', font=(
        #     'Verdana 15 bold'))
        # self.data_final.place(x=80, y=170)
        # self.data_final_entry = Entry(self, width=20, font=(
        #     'Verdana 15 bold'))
        # self.data_final_entry.place(x=370, y=170)

        self.quant_diarias = Label(self,
                                   text="Quantidade de diárias :",
                                   bg='#c9c9ff',
                                   fg='white',
                                   font=('Verdana 15 bold'))
        self.quant_diarias.place(x=80, y=220)
        self.quant_diarias_entry = Entry(self,
                                         width=20,
                                         font=('Verdana 15 bold'))
        self.quant_diarias_entry.place(x=370, y=220)

        self.valor_diaria = Label(self,
                                  text="Valor da diária :",
                                  bg='#c9c9ff',
                                  fg='white',
                                  font=('Verdana 15 bold'))
        self.valor_diaria.place(x=80, y=270)
        self.valor_diaria_entry = Entry(self,
                                        width=20,
                                        font=('Verdana 15 bold'))
        self.valor_diaria_entry.place(x=370, y=270)

        # BOX PARA ESCOLHER O VEICULO =====================================================================
        self.veiculostxt = Label(self,
                                 text="Escolha um veículo:",
                                 bg='#c9c9ff',
                                 fg='white',
                                 font=('Verdana 15 bold'))
        self.veiculostxt.place(x=30, y=340)
        self.lista_veiculos = Listbox(self,
                                      width=90,
                                      height=7,
                                      font=('Verdana 15 bold'))
        self.lista_veiculos.place(x=30, y=370)
        self.scrollbar_veiculos = Scrollbar(self)
        self.lista_veiculos.configure(
            yscrollcommand=self.scrollbar_veiculos.set)
        self.scrollbar_veiculos.configure(command=self.lista_veiculos.yview)
        self.scrollbar_veiculos.place(x=1293, y=370, relheight=0.22)
        # self.botao_selecionar_veiculo = Button(self, text="Selecionar \n veiculo", width=10, height=5, bg='#ffdfba', fg='black', font=(
        #     'Verdana 15 bold'))
        # self.botao_selecionar_veiculo.place(x=1320, y=400)

        # BOX PARA ESCOLHER O CLIENTE
        self.clientestxt = Label(self,
                                 text="Escolha um cliente:",
                                 bg='#c9c9ff',
                                 fg='white',
                                 font=('Verdana 15 bold'))
        self.clientestxt.place(x=30, y=570)
        self.lista_clientes = Listbox(self,
                                      width=90,
                                      height=7,
                                      font=('Verdana 15 bold'))
        self.lista_clientes.place(x=30, y=600)
        self.scrollbar_clientes = Scrollbar(self)
        self.lista_clientes.configure(
            yscrollcommand=self.scrollbar_clientes.set)
        self.scrollbar_clientes.configure(command=self.lista_clientes.yview)
        self.scrollbar_clientes.place(x=1293, y=600, relheight=0.22)
        # self.botao_selecionar_cliente = Button(self, text="Selecionar \n cliente", width=10, height=5, bg='#ffdfba', fg='black', font=(
        #     'Verdana 15 bold'))
        # self.botao_selecionar_cliente.place(x=1320, y=625)
        self.view_command()

        self.lista_veiculos.bind('<<ListboxSelect>>',
                                 self.selecionar_list_box_veiculos)
        self.lista_clientes.bind('<<ListboxSelect>>',
                                 self.selecionar_list_box_clientes)
示例#4
0
    def __init__(self, master=''):
        self.master = master
        self.cliente = Cliente()
        self.dao = ClienteDAO()
        '''
        self.window = Tk()
        self.window.geometry('1500x850+0+0')
        self.window.title('Cadastro de cliente')
        self.window.resizable(0, 0)  # impede de maximizar
        self.window['bg'] = '#c9c9ff'
        '''
        self.heading = Label(self.master,
                             text="Cadastro de Clientes",
                             bg='#c9c9ff',
                             fg='white',
                             font=('Verdana 20 bold'))
        self.heading.place(x=650, y=0)

        # nome =========================================================================
        self.nome = Label(self.master,
                          text="Nome:",
                          bg='#c9c9ff',
                          fg='white',
                          font=('Verdana 15 bold'))
        self.nome.place(x=30, y=70)
        self.nome_entry = Entry(self.master,
                                width=15,
                                font=('Verdana 15 bold'))
        self.nome_entry.place(x=175, y=70)

        # rg =========================================================================
        self.rg = Label(self.master,
                        text="rg:",
                        bg='#c9c9ff',
                        fg='white',
                        font=('Verdana 15 bold'))
        self.rg.place(x=30, y=120)
        self.rg_entry = Entry(self.master, width=15, font=('Verdana 15 bold'))
        self.rg_entry.place(x=175, y=120)

        # cpf =========================================================================
        self.cpf = Label(self.master,
                         text="cpf:",
                         bg='#c9c9ff',
                         fg='white',
                         font=('Verdana 15 bold'))
        self.cpf.place(x=30, y=170)
        self.cpf_entry = Entry(self.master, width=15, font=('Verdana 15 bold'))
        self.cpf_entry.place(x=175, y=170)

        # email =========================================================================
        self.email = Label(self.master,
                           text="email:",
                           bg='#c9c9ff',
                           fg='white',
                           font=('Verdana 15 bold'))
        self.email.place(x=30, y=220)
        self.email_entry = Entry(self.master,
                                 width=15,
                                 font=('Verdana 15 bold'))
        self.email_entry.place(x=175, y=220)
        # self.email_entry.insert(END, datetime.date.today())

        # telefone =========================================================================
        self.telefone = Label(self.master,
                              text="Telefone:",
                              bg='#c9c9ff',
                              fg='white',
                              font=('Verdana 15 bold'))
        self.telefone.place(x=30, y=270)
        self.telefone_entry = Entry(self.master,
                                    width=15,
                                    font=('Verdana 15 bold'))
        self.telefone_entry.place(x=175, y=270)
        self.telefone_entry.insert(END, "litros")

        # nascimento =========================================================================
        self.nascimento = Label(self.master,
                                text="Nascimento:",
                                bg='#c9c9ff',
                                fg='white',
                                font=('Verdana 15 bold'))
        self.nascimento.place(x=30, y=320)
        self.nascimento_entry = Entry(self.master,
                                      width=15,
                                      font=('Verdana 15 bold'))
        self.nascimento_entry.place(x=175, y=320)

        # consumo cidade =========================================================================
        self.estado_civil = Label(self.master,
                                  text="Estado civil:",
                                  bg='#c9c9ff',
                                  fg='white',
                                  font=('Verdana 15 bold'))
        self.estado_civil.place(x=30, y=370)
        self.estado_civil_entry = Entry(self.master,
                                        width=15,
                                        font=('Verdana 15 bold'))
        self.estado_civil_entry.place(x=175, y=370)

        self.estado_civil_entry.insert(END, "l/km")

        self.genero = Label(self.master,
                            text="Gênero:",
                            bg='#c9c9ff',
                            fg='white',
                            font=('Verdana 15 bold'))
        self.genero.place(x=30, y=420)
        self.genero_entry = Entry(self.master,
                                  width=15,
                                  font=('Verdana 15 bold'))
        self.genero_entry.place(x=175, y=420)
        self.genero_entry.insert(END, "l/km")

        # direito ==============================
        self.cep = Label(self.master,
                         text="CEP:",
                         bg='#c9c9ff',
                         fg='white',
                         font=('Verdana 15 bold'))
        self.cep.place(x=550, y=70)
        self.cep_entry = Entry(self.master, width=15, font=('Verdana 15 bold'))
        self.cep_entry.place(x=730, y=70)

        self.estado = Label(self.master,
                            text="Estado:",
                            bg='#c9c9ff',
                            fg='white',
                            font=('Verdana 15 bold'))
        self.estado.place(x=550, y=120)
        self.estado_entry = Entry(self.master,
                                  width=15,
                                  font=('Verdana 15 bold'))
        self.estado_entry.place(x=730, y=120)

        self.logradouro = Label(self.master,
                                text="Logradouro:",
                                bg='#c9c9ff',
                                fg='white',
                                font=('Verdana 15 bold'))
        self.logradouro.place(x=550, y=170)
        self.logradouro_entry = Entry(self.master,
                                      width=15,
                                      font=('Verdana 15 bold'))
        self.logradouro_entry.place(x=730, y=170)

        self.bairro = Label(self.master,
                            text="Bairro:",
                            bg='#c9c9ff',
                            fg='white',
                            font=('Verdana 15 bold'))
        self.bairro.place(x=550, y=220)
        self.bairro_entry = Entry(self.master,
                                  width=15,
                                  font=('Verdana 15 bold'))
        self.bairro_entry.place(x=730, y=220)

        self.numero_logradouro = Label(self.master,
                                       text="Número:",
                                       bg='#c9c9ff',
                                       fg='white',
                                       font=('Verdana 15 bold'))
        self.numero_logradouro.place(x=550, y=270)
        self.numero_logradouro_entry = Entry(self.master,
                                             width=15,
                                             font=('Verdana 15 bold'))
        self.numero_logradouro_entry.place(x=730, y=270)

        self.cidade = Label(self.master,
                            text="Cidade:",
                            bg='#c9c9ff',
                            fg='white',
                            font=('Verdana 15 bold'))
        self.cidade.place(x=550, y=320)
        self.cidade_entry = Entry(self.master,
                                  width=15,
                                  font=('Verdana 15 bold'))
        self.cidade_entry.place(x=730, y=320)

        self.complemento = Label(self.master,
                                 text="Complemento:",
                                 bg='#c9c9ff',
                                 fg='white',
                                 font=('Verdana 15 bold'))
        self.complemento.place(x=550, y=370)
        self.complemento_entry = Entry(self.master,
                                       width=15,
                                       font=('Verdana 15 bold'))
        self.complemento_entry.place(x=730, y=370)

        # TERCEIRO FRAME =============================================
        self.numero_cnh = Label(self.master,
                                text="Numero CNH:",
                                bg='#c9c9ff',
                                fg='white',
                                font=('Verdana 15 bold'))
        self.numero_cnh.place(x=1050, y=70)
        self.numero_cnh_entry = Entry(self.master,
                                      width=15,
                                      font=('Verdana 15 bold'))
        self.numero_cnh_entry.place(x=1250, y=70)

        self.numero_registro_cnh = Label(self.master,
                                         text="RG CNH:",
                                         bg='#c9c9ff',
                                         fg='white',
                                         font=('Verdana 15 bold'))
        self.numero_registro_cnh.place(x=1050, y=120)
        self.numero_registro_cnh_entry = Entry(self.master,
                                               width=15,
                                               font=('Verdana 15 bold'))
        self.numero_registro_cnh_entry.place(x=1250, y=120)

        self.data_validade_cnh = Label(self.master,
                                       text="Validade CNH:",
                                       bg='#c9c9ff',
                                       fg='white',
                                       font=('Verdana 15 bold'))
        self.data_validade_cnh.place(x=1050, y=170)
        self.data_validade_cnh_entry = Entry(self.master,
                                             width=15,
                                             font=('Verdana 15 bold'))
        self.data_validade_cnh_entry.place(x=1250, y=170)

        self.uf_cnh = Label(self.master,
                            text="UF CNH:",
                            bg='#c9c9ff',
                            fg='white',
                            font=('Verdana 15 bold'))
        self.uf_cnh.place(x=1050, y=220)
        self.uf_cnh_entry = Entry(self.master,
                                  width=15,
                                  font=('Verdana 15 bold'))
        self.uf_cnh_entry.place(x=1250, y=220)

        self.contato_emergencial = Label(self.master,
                                         text="Contato 2:",
                                         bg='#c9c9ff',
                                         fg='white',
                                         font=('Verdana 15 bold'))
        self.contato_emergencial.place(x=1050, y=270)
        self.contato_emergencial_entry = Entry(self.master,
                                               width=15,
                                               font=('Verdana 15 bold'))
        self.contato_emergencial_entry.place(x=1250, y=270)

        self.nome_contato_emergencial = Label(self.master,
                                              text="Nome contato:",
                                              bg='#c9c9ff',
                                              fg='white',
                                              font=('Verdana 15 bold'))
        self.nome_contato_emergencial.place(x=1050, y=320)
        self.nome_contato_emergencial_entry = Entry(self.master,
                                                    width=15,
                                                    font=('Verdana 15 bold'))
        self.nome_contato_emergencial_entry.place(x=1250, y=320)

        # BOTAO LIMPAR  =========================================================================
        self.botao_limpar = Button(self.master,
                                   text="Limpar",
                                   width=22,
                                   height=2,
                                   bg='#ffdfba',
                                   fg='black',
                                   font=('Verdana 15 bold'),
                                   command=self.view_command)
        self.botao_limpar.place(x=1170, y=550)

        self.botao_cadastrar = Button(self.master,
                                      text="Cadastrar",
                                      width=22,
                                      height=2,
                                      bg='#baffc9',
                                      fg='black',
                                      font=('Verdana 15 bold'),
                                      command=self.get_items)
        self.botao_cadastrar.place(x=1170, y=650)
        '''
        self.botao_sair = Button(self.master, text="Sair", width=22, height=2, bg='#ffb3ba', fg='black', font=(
        'Verdana 15 bold'), command=self.close)
        self.botao_sair.place(x=1170, y=740)
        '''
        self.lista_clientes = Listbox(self.master,
                                      width=80,
                                      height=10,
                                      font=('Verdana 15 bold'))
        self.lista_clientes.place(x=30, y=550)

        #Associando a Scrollbar com a Listbox...
        self.scrollbar_cliente = Scrollbar(self.master)
        self.lista_clientes.configure(
            yscrollcommand=self.scrollbar_cliente.set)
        self.scrollbar_cliente.configure(command=self.lista_clientes.yview)
        self.scrollbar_cliente.place(x=1155,
                                     y=550,
                                     relheight=0.31,
                                     anchor='ne')

        self.pesquisar_cliente = Label(self.master,
                                       text="Lista de clientes Cadastrados:",
                                       bg='#c9c9ff',
                                       font=('Verdana 15 bold'))
        self.pesquisar_cliente.place(x=30, y=500)
        self.update_list()
示例#5
0
class CadastroCliente:
    '''Classe interface cadastrar cliente'''
    def __init__(self, master=''):
        self.master = master
        self.cliente = Cliente()
        self.dao = ClienteDAO()
        '''
        self.window = Tk()
        self.window.geometry('1500x850+0+0')
        self.window.title('Cadastro de cliente')
        self.window.resizable(0, 0)  # impede de maximizar
        self.window['bg'] = '#c9c9ff'
        '''
        self.heading = Label(self.master,
                             text="Cadastro de Clientes",
                             bg='#c9c9ff',
                             fg='white',
                             font=('Verdana 20 bold'))
        self.heading.place(x=650, y=0)

        # nome =========================================================================
        self.nome = Label(self.master,
                          text="Nome:",
                          bg='#c9c9ff',
                          fg='white',
                          font=('Verdana 15 bold'))
        self.nome.place(x=30, y=70)
        self.nome_entry = Entry(self.master,
                                width=15,
                                font=('Verdana 15 bold'))
        self.nome_entry.place(x=175, y=70)

        # rg =========================================================================
        self.rg = Label(self.master,
                        text="rg:",
                        bg='#c9c9ff',
                        fg='white',
                        font=('Verdana 15 bold'))
        self.rg.place(x=30, y=120)
        self.rg_entry = Entry(self.master, width=15, font=('Verdana 15 bold'))
        self.rg_entry.place(x=175, y=120)

        # cpf =========================================================================
        self.cpf = Label(self.master,
                         text="cpf:",
                         bg='#c9c9ff',
                         fg='white',
                         font=('Verdana 15 bold'))
        self.cpf.place(x=30, y=170)
        self.cpf_entry = Entry(self.master, width=15, font=('Verdana 15 bold'))
        self.cpf_entry.place(x=175, y=170)

        # email =========================================================================
        self.email = Label(self.master,
                           text="email:",
                           bg='#c9c9ff',
                           fg='white',
                           font=('Verdana 15 bold'))
        self.email.place(x=30, y=220)
        self.email_entry = Entry(self.master,
                                 width=15,
                                 font=('Verdana 15 bold'))
        self.email_entry.place(x=175, y=220)
        # self.email_entry.insert(END, datetime.date.today())

        # telefone =========================================================================
        self.telefone = Label(self.master,
                              text="Telefone:",
                              bg='#c9c9ff',
                              fg='white',
                              font=('Verdana 15 bold'))
        self.telefone.place(x=30, y=270)
        self.telefone_entry = Entry(self.master,
                                    width=15,
                                    font=('Verdana 15 bold'))
        self.telefone_entry.place(x=175, y=270)
        self.telefone_entry.insert(END, "litros")

        # nascimento =========================================================================
        self.nascimento = Label(self.master,
                                text="Nascimento:",
                                bg='#c9c9ff',
                                fg='white',
                                font=('Verdana 15 bold'))
        self.nascimento.place(x=30, y=320)
        self.nascimento_entry = Entry(self.master,
                                      width=15,
                                      font=('Verdana 15 bold'))
        self.nascimento_entry.place(x=175, y=320)

        # consumo cidade =========================================================================
        self.estado_civil = Label(self.master,
                                  text="Estado civil:",
                                  bg='#c9c9ff',
                                  fg='white',
                                  font=('Verdana 15 bold'))
        self.estado_civil.place(x=30, y=370)
        self.estado_civil_entry = Entry(self.master,
                                        width=15,
                                        font=('Verdana 15 bold'))
        self.estado_civil_entry.place(x=175, y=370)

        self.estado_civil_entry.insert(END, "l/km")

        self.genero = Label(self.master,
                            text="Gênero:",
                            bg='#c9c9ff',
                            fg='white',
                            font=('Verdana 15 bold'))
        self.genero.place(x=30, y=420)
        self.genero_entry = Entry(self.master,
                                  width=15,
                                  font=('Verdana 15 bold'))
        self.genero_entry.place(x=175, y=420)
        self.genero_entry.insert(END, "l/km")

        # direito ==============================
        self.cep = Label(self.master,
                         text="CEP:",
                         bg='#c9c9ff',
                         fg='white',
                         font=('Verdana 15 bold'))
        self.cep.place(x=550, y=70)
        self.cep_entry = Entry(self.master, width=15, font=('Verdana 15 bold'))
        self.cep_entry.place(x=730, y=70)

        self.estado = Label(self.master,
                            text="Estado:",
                            bg='#c9c9ff',
                            fg='white',
                            font=('Verdana 15 bold'))
        self.estado.place(x=550, y=120)
        self.estado_entry = Entry(self.master,
                                  width=15,
                                  font=('Verdana 15 bold'))
        self.estado_entry.place(x=730, y=120)

        self.logradouro = Label(self.master,
                                text="Logradouro:",
                                bg='#c9c9ff',
                                fg='white',
                                font=('Verdana 15 bold'))
        self.logradouro.place(x=550, y=170)
        self.logradouro_entry = Entry(self.master,
                                      width=15,
                                      font=('Verdana 15 bold'))
        self.logradouro_entry.place(x=730, y=170)

        self.bairro = Label(self.master,
                            text="Bairro:",
                            bg='#c9c9ff',
                            fg='white',
                            font=('Verdana 15 bold'))
        self.bairro.place(x=550, y=220)
        self.bairro_entry = Entry(self.master,
                                  width=15,
                                  font=('Verdana 15 bold'))
        self.bairro_entry.place(x=730, y=220)

        self.numero_logradouro = Label(self.master,
                                       text="Número:",
                                       bg='#c9c9ff',
                                       fg='white',
                                       font=('Verdana 15 bold'))
        self.numero_logradouro.place(x=550, y=270)
        self.numero_logradouro_entry = Entry(self.master,
                                             width=15,
                                             font=('Verdana 15 bold'))
        self.numero_logradouro_entry.place(x=730, y=270)

        self.cidade = Label(self.master,
                            text="Cidade:",
                            bg='#c9c9ff',
                            fg='white',
                            font=('Verdana 15 bold'))
        self.cidade.place(x=550, y=320)
        self.cidade_entry = Entry(self.master,
                                  width=15,
                                  font=('Verdana 15 bold'))
        self.cidade_entry.place(x=730, y=320)

        self.complemento = Label(self.master,
                                 text="Complemento:",
                                 bg='#c9c9ff',
                                 fg='white',
                                 font=('Verdana 15 bold'))
        self.complemento.place(x=550, y=370)
        self.complemento_entry = Entry(self.master,
                                       width=15,
                                       font=('Verdana 15 bold'))
        self.complemento_entry.place(x=730, y=370)

        # TERCEIRO FRAME =============================================
        self.numero_cnh = Label(self.master,
                                text="Numero CNH:",
                                bg='#c9c9ff',
                                fg='white',
                                font=('Verdana 15 bold'))
        self.numero_cnh.place(x=1050, y=70)
        self.numero_cnh_entry = Entry(self.master,
                                      width=15,
                                      font=('Verdana 15 bold'))
        self.numero_cnh_entry.place(x=1250, y=70)

        self.numero_registro_cnh = Label(self.master,
                                         text="RG CNH:",
                                         bg='#c9c9ff',
                                         fg='white',
                                         font=('Verdana 15 bold'))
        self.numero_registro_cnh.place(x=1050, y=120)
        self.numero_registro_cnh_entry = Entry(self.master,
                                               width=15,
                                               font=('Verdana 15 bold'))
        self.numero_registro_cnh_entry.place(x=1250, y=120)

        self.data_validade_cnh = Label(self.master,
                                       text="Validade CNH:",
                                       bg='#c9c9ff',
                                       fg='white',
                                       font=('Verdana 15 bold'))
        self.data_validade_cnh.place(x=1050, y=170)
        self.data_validade_cnh_entry = Entry(self.master,
                                             width=15,
                                             font=('Verdana 15 bold'))
        self.data_validade_cnh_entry.place(x=1250, y=170)

        self.uf_cnh = Label(self.master,
                            text="UF CNH:",
                            bg='#c9c9ff',
                            fg='white',
                            font=('Verdana 15 bold'))
        self.uf_cnh.place(x=1050, y=220)
        self.uf_cnh_entry = Entry(self.master,
                                  width=15,
                                  font=('Verdana 15 bold'))
        self.uf_cnh_entry.place(x=1250, y=220)

        self.contato_emergencial = Label(self.master,
                                         text="Contato 2:",
                                         bg='#c9c9ff',
                                         fg='white',
                                         font=('Verdana 15 bold'))
        self.contato_emergencial.place(x=1050, y=270)
        self.contato_emergencial_entry = Entry(self.master,
                                               width=15,
                                               font=('Verdana 15 bold'))
        self.contato_emergencial_entry.place(x=1250, y=270)

        self.nome_contato_emergencial = Label(self.master,
                                              text="Nome contato:",
                                              bg='#c9c9ff',
                                              fg='white',
                                              font=('Verdana 15 bold'))
        self.nome_contato_emergencial.place(x=1050, y=320)
        self.nome_contato_emergencial_entry = Entry(self.master,
                                                    width=15,
                                                    font=('Verdana 15 bold'))
        self.nome_contato_emergencial_entry.place(x=1250, y=320)

        # BOTAO LIMPAR  =========================================================================
        self.botao_limpar = Button(self.master,
                                   text="Limpar",
                                   width=22,
                                   height=2,
                                   bg='#ffdfba',
                                   fg='black',
                                   font=('Verdana 15 bold'),
                                   command=self.view_command)
        self.botao_limpar.place(x=1170, y=550)

        self.botao_cadastrar = Button(self.master,
                                      text="Cadastrar",
                                      width=22,
                                      height=2,
                                      bg='#baffc9',
                                      fg='black',
                                      font=('Verdana 15 bold'),
                                      command=self.get_items)
        self.botao_cadastrar.place(x=1170, y=650)
        '''
        self.botao_sair = Button(self.master, text="Sair", width=22, height=2, bg='#ffb3ba', fg='black', font=(
        'Verdana 15 bold'), command=self.close)
        self.botao_sair.place(x=1170, y=740)
        '''
        self.lista_clientes = Listbox(self.master,
                                      width=80,
                                      height=10,
                                      font=('Verdana 15 bold'))
        self.lista_clientes.place(x=30, y=550)

        #Associando a Scrollbar com a Listbox...
        self.scrollbar_cliente = Scrollbar(self.master)
        self.lista_clientes.configure(
            yscrollcommand=self.scrollbar_cliente.set)
        self.scrollbar_cliente.configure(command=self.lista_clientes.yview)
        self.scrollbar_cliente.place(x=1155,
                                     y=550,
                                     relheight=0.31,
                                     anchor='ne')

        self.pesquisar_cliente = Label(self.master,
                                       text="Lista de clientes Cadastrados:",
                                       bg='#c9c9ff',
                                       font=('Verdana 15 bold'))
        self.pesquisar_cliente.place(x=30, y=500)
        self.update_list()

    def update_list(self):
        try:
            self.lista_clientes.delete(0, END)
            for item in self.clienteDAO.view():
                self.lista_clientes.insert(END, item)
        except Exception:
            print('Erro na lista clientes.')

    def get_items(self):
        self.cliente.nome = self.nome_entry.get()
        self.cliente.rg = self.rg_entry.get()
        self.cliente.cpf = self.cpf_entry.get()
        self.cliente.email = self.email_entry.get()
        self.cliente.telefone = self.telefone_entry.get()
        self.cliente.nascimento = self.nascimento_entry.get()
        self.cliente.estado_civil = self.estado_civil_entry.get()
        self.cliente.genero = self.genero_entry.get()
        self.cliente.cep = self.cep_entry.get()
        self.cliente.logradouro = self.logradouro_entry.get()
        self.cliente.bairro = self.bairro_entry.get()
        self.cliente.numero_logradouro = self.numero_logradouro_entry.get()
        self.cliente.cidade = self.cidade_entry.get()
        self.cliente.estado = self.estado_entry.get()
        self.cliente.complemento = self.complemento_entry.get()
        self.cliente.numero_cnh = self.numero_cnh_entry.get()
        self.cliente.numero_registro_cnh = self.numero_registro_cnh_entry.get()
        self.cliente.data_validade_cnh = self.data_validade_cnh_entry.get()
        self.cliente.uf_cnh = self.uf_cnh_entry.get()
        self.cliente.contato_emergencial = self.contato_emergencial_entry.get()
        self.cliente.nome_contato_emergencial = self.nome_contato_emergencial_entry.get(
        )

        if (self.cliente.nome == '' or self.cliente.rg == ''
                or self.cliente.cpf == '' or self.cliente.email == ''
                or self.cliente.telefone == '' or self.cliente.nascimento == ''
                or self.cliente.estado_civil == '' or self.cliente.genero == ''
                or self.cliente.cep == '' or self.cliente.logradouro == ''
                or self.cliente.bairro == ''
                or self.cliente.numero_logradouro == ''
                or self.cliente.cidade == '' or self.cliente.estado == ''
                or self.cliente.complemento == ''
                or self.cliente.numero_cnh == ''
                or self.cliente.numero_registro_cnh == ''
                or self.cliente.data_validade_cnh == ''
                or self.cliente.uf_cnh == ''
                or self.cliente.contato_emergencial == ''
                or self.cliente.nome_contato_emergencial == ''):
            tkinter.messagebox.showinfo("Aviso:", "Preencha todos os campos!")
        else:
            try:
                self.cliente.telefone = int(self.cliente.telefone)
            except ValueError:
                tkinter.messagebox.showinfo(
                    'Aviso!',
                    'O campo telefone deve ser preenchido com número!')
            try:
                self.cliente.contato_emergencial = int(
                    self.cliente.contato_emergencial)
            except ValueError:
                tkinter.messagebox.showinfo(
                    'Aviso!',
                    'O campo contato emergencial deve ser preenchidos com número!'
                )
            try:
                self.cliente.cep = int(self.cliente.cep)
            except ValueError:
                tkinter.messagebox.showinfo(
                    'Aviso!', 'O campo cep deve ser preenchido com números!')
            try:
                self.cliente.numero_cnh = int(self.cliente.numero_cnh)
            except ValueError:
                tkinter.messagebox.showinfo(
                    'Aviso!',
                    'O campo numero cnh deve ser preenchido com números!')
            try:
                self.cliente.numero_registro_cnh = int(
                    self.cliente.numero_registro_cnh)
            except ValueError:
                tkinter.messagebox.showinfo(
                    'Aviso!',
                    'O campo rg cnh deve ser preenchido com números!')
            try:
                self.cliente.uf_cnh = int(self.cliente.uf_cnh)
            except ValueError:
                tkinter.messagebox.showinfo(
                    'Aviso!',
                    'O campo uf cnh deve ser preenchido com números!!')
            else:
                try:
                    self.dao.insert(self.cliente)
                except Exception as e:
                    print("erro ao inserir no banco de dados")
                else:
                    tkinter.messagebox.showinfo(
                        'Aviso!', 'Cadastro Realizado com Sucesso!')
                    self.clear_all()
                    self.update_list()

    def clear_all(self):
        self.nome_entry.delete(0, END)
        self.rg_entry.delete(0, END)
        self.cpf_entry.delete(0, END)
        self.email_entry.delete(0, END)
        self.telefone_entry.delete(0, END)
        self.nascimento_entry.delete(0, END)
        self.estado_civil_entry.delete(0, END)
        self.genero_entry.delete(0, END)
        self.cep_entry.delete(0, END)
        self.logradouro_entry.delete(0, END)
        self.bairro.delete(0, END)
        self.numero_logradouro.delete(0, END)
        self.cidade.delete(0, END)
        self.estado.delete(0, END)
        self.complemento.delete(0, END)
        self.numero_cnh.delete(0, END)
        self.numero_registro_cnh.delete(0, END)
        self.data_validade_cnh.delete(0, END)
        self.uf_cnh.delete(0, END)
        self.contato_emergencial.delete(0, END)
        self.nome_contato_emergencial.delete(0, END)

    def view_command(self):
        "método para visualização dos resultados"
        try:
            rows = self.clienteDAO.view()
            self.window.lista_clientes.delete(0, END)
            for r in rows:
                self.window.lista_clientes.insert(END, r)
        except Exception as e:
            print(e)

    def search_command(self):
        "método para buscar registros"
        self.gui.lista_clientes.delete(0, END)
        self.__fill_current_client()
        try:
            rows = self.dao.search(self.currentClient)
            for r in rows:
                self.gui.lista_clientes.insert(END, r)
        except Exception as e:
            print(e)

    def close(self):
        self.dao.close()
        self.tela_inicial.destroy()
        self.executar.abrir()
示例#6
0
    def __init__(self, master=None):
        Toplevel.__init__(self, master=master)
        self.cliente = Cliente()
        self.dao = ClienteDAO()

        self.geometry('1500x850+0+0')
        self.title('Excluir cliente')
        self.resizable(0, 0)  # impede de maximizar
        self.configure(background='#c9c9ff')

        self.id = None

        self.heading = Label(self,
                             text="Excluir um cliente do banco de dados",
                             bg='#c9c9ff',
                             fg='white',
                             font=('Verdana 20 bold'))
        self.heading.place(x=550, y=50)

        self.pesquisar_veiculo = Label(self,
                                       text="Pesquisar por nome:",
                                       bg='#c9c9ff',
                                       font=('Verdana  15 bold'))
        self.pesquisar_veiculo.place(x=40, y=150)

        self.search_var = StringVar()
        self.search_var.trace("w",
                              lambda name, index, mode: self.view_command())
        self.search_entry = Entry(self,
                                  textvariable=self.search_var,
                                  width=20,
                                  font=('Verdana  15 bold'))
        self.search_entry.place(x=300, y=150)

        # LIST BOX =============================================================
        self.lista_clientes = Listbox(self,
                                      width=95,
                                      height=10,
                                      font=('Verdana 15 bold'))
        self.lista_clientes.place(x=40, y=300)

        # BOTOES =================================================================
        self.botao_deletar = Button(self,
                                    text="Deletar cliente do banco de dados",
                                    width=46,
                                    height=1,
                                    bg='#baffc9',
                                    fg='black',
                                    font=('Verdana  15 bold'),
                                    command=self.delete)
        self.botao_deletar.place(x=40, y=600)

        self.botao_sair = Button(self,
                                 text="Sair",
                                 width=46,
                                 height=1,
                                 bg='#ffb3ba',
                                 fg='black',
                                 font=('Verdana  15 bold'),
                                 command=self.close)
        self.botao_sair.place(x=720, y=600)

        # self.botao_pesquisar = Button(self, text="Pesquisar", width=20, height=1, bg='#ffdfba', fg='black', font=(
        #     'Verdana  15 bold'))
        # self.botao_pesquisar.place(x=620, y=140)

        # Associando a Scrollbar com a Listbox...
        self.scrollbar_cliente = Scrollbar(self)
        self.lista_clientes.configure(
            yscrollcommand=self.scrollbar_cliente.set)
        self.scrollbar_cliente.configure(command=self.lista_clientes.yview)
        self.scrollbar_cliente.place(x=1375,
                                     y=300,
                                     relheight=0.31,
                                     anchor='ne')

        self.pesquisar_cliente = Label(self,
                                       text="Lista de clientes cadastrados:",
                                       bg='#c9c9ff',
                                       font=('Verdana 15 bold'))
        self.pesquisar_cliente.place(x=40, y=260)

        self.view_command()
        self.lista_clientes.bind('<<ListboxSelect>>', self.selecionar_list_box)
示例#7
0
class DeletaCliente(Toplevel):
    '''Classe interface cadastrar cliente'''
    def __init__(self, master=None):
        Toplevel.__init__(self, master=master)
        self.cliente = Cliente()
        self.dao = ClienteDAO()

        self.geometry('1500x850+0+0')
        self.title('Excluir cliente')
        self.resizable(0, 0)  # impede de maximizar
        self.configure(background='#c9c9ff')

        self.id = None

        self.heading = Label(self,
                             text="Excluir um cliente do banco de dados",
                             bg='#c9c9ff',
                             fg='white',
                             font=('Verdana 20 bold'))
        self.heading.place(x=550, y=50)

        self.pesquisar_veiculo = Label(self,
                                       text="Pesquisar por nome:",
                                       bg='#c9c9ff',
                                       font=('Verdana  15 bold'))
        self.pesquisar_veiculo.place(x=40, y=150)

        self.search_var = StringVar()
        self.search_var.trace("w",
                              lambda name, index, mode: self.view_command())
        self.search_entry = Entry(self,
                                  textvariable=self.search_var,
                                  width=20,
                                  font=('Verdana  15 bold'))
        self.search_entry.place(x=300, y=150)

        # LIST BOX =============================================================
        self.lista_clientes = Listbox(self,
                                      width=95,
                                      height=10,
                                      font=('Verdana 15 bold'))
        self.lista_clientes.place(x=40, y=300)

        # BOTOES =================================================================
        self.botao_deletar = Button(self,
                                    text="Deletar cliente do banco de dados",
                                    width=46,
                                    height=1,
                                    bg='#baffc9',
                                    fg='black',
                                    font=('Verdana  15 bold'),
                                    command=self.delete)
        self.botao_deletar.place(x=40, y=600)

        self.botao_sair = Button(self,
                                 text="Sair",
                                 width=46,
                                 height=1,
                                 bg='#ffb3ba',
                                 fg='black',
                                 font=('Verdana  15 bold'),
                                 command=self.close)
        self.botao_sair.place(x=720, y=600)

        # self.botao_pesquisar = Button(self, text="Pesquisar", width=20, height=1, bg='#ffdfba', fg='black', font=(
        #     'Verdana  15 bold'))
        # self.botao_pesquisar.place(x=620, y=140)

        # Associando a Scrollbar com a Listbox...
        self.scrollbar_cliente = Scrollbar(self)
        self.lista_clientes.configure(
            yscrollcommand=self.scrollbar_cliente.set)
        self.scrollbar_cliente.configure(command=self.lista_clientes.yview)
        self.scrollbar_cliente.place(x=1375,
                                     y=300,
                                     relheight=0.31,
                                     anchor='ne')

        self.pesquisar_cliente = Label(self,
                                       text="Lista de clientes cadastrados:",
                                       bg='#c9c9ff',
                                       font=('Verdana 15 bold'))
        self.pesquisar_cliente.place(x=40, y=260)

        self.view_command()
        self.lista_clientes.bind('<<ListboxSelect>>', self.selecionar_list_box)

    def view_command(self):
        "método para visualização dos resultados"
        try:
            rows = self.dao.view()
            self.lista_clientes.delete(0, END)
            for r in rows:
                if str(self.search_var.get()).lower() in str(r).lower():
                    self.lista_clientes.insert(END, r)
        except Exception as e:
            print(e)

    # def get_items(self):
    #     self.cliente.nome = self.nome_entry.get()
    #     self.cliente.rg = self.rg_entry.get()
    #     self.cliente.cpf = self.cpf_entry.get()
    #     self.cliente.email = self.email_entry.get()
    #     self.cliente.telefone = self.telefone_entry.get()
    #     self.cliente.nascimento = self.nascimento_entry.get()
    #     self.cliente.estado_civil = self.estado_civil_entry.get()
    #     self.cliente.genero = self.genero_entry.get()

    def selecionar_list_box(self, event):
        if self.lista_clientes.curselection():
            indice = self.lista_clientes.curselection()[0]
            self.selecionado = self.lista_clientes.get(indice)

            self.id = self.selecionado[0]

    def delete(self):
        try:
            self.dao.delete(self.id)
        except Exception:
            tkinter.messagebox.showinfo('Aviso!',
                                        'Erro ao acessar o banco de dados.')
        else:
            tkinter.messagebox.showinfo('Aviso!',
                                        'Produto Excluido com Sucesso!')
            self.view_command()

    # def clear_all(self):
    # self.nome_entry.delete(0, END)
    # self.rg_entry.delete(0, END)
    # self.cpf_entry.delete(0, END)
    # self.email_entry.delete(0, END)
    # self.telefone_entry.delete(0, END)
    # self.nascimento_entry.delete(0, END)
    # self.estado_civil_entry.delete(0, END)
    # self.genero_entry.delete(0, END)
    # self.cep_entry.delete(0, END)
    # self.logradouro_entry.delete(0, END)
    # self.bairro_entry.delete(0, END)
    # self.numero_logradouro_entry.delete(0, END)
    # self.cidade_entry.delete(0, END)
    # self.estado_entry.delete(0, END)
    # self.complemento_entry.delete(0, END)
    # self.numero_cnh_entry.delete(0, END)
    # self.numero_registro_cnh_entry.delete(0, END)
    # self.data_validade_cnh_entry.delete(0, END)
    # self.uf_cnh_entry.delete(0, END)
    # self.contato_emergencial_entry.delete(0, END)
    # self.nome_contato_emergencial_entry.delete(0, END)
    '''
    def view_command(self):
        "método para visualização dos resultados"
        try:
            rows = self.dao.view()
            self.lista_clientes.delete(0, END)
            for r in rows:
                self.lista_clientes.insert(END, r)
        except Exception as e:
            print(e)

    def search_command(self):
        "método para buscar registros"
        self.lista_clientes.delete(0, END)
        self.__fill_current_client()
        try:
            rows = self.dao.search(self.currentClient)
            for r in rows:
                self.gui.lista_clientes.insert(END, r)
        except Exception as e:
            print(e)
    '''

    def close(self):
        self.dao.close()
        self.destroy()

    def run(self):
        self.mainloop()
示例#8
0
import sys
sys.path.append("./negocio")
sys.path.append("./persistencia")

from cliente import Cliente #negocio
from clienteDAO import ClienteDAO #persistencia
from conexao import Conexao #persistencia


# http://initd.org/psycopg/

conexao = Conexao("trabalho")
#conexaoOutroBanco = Conexao("youtube")
clienteDAO = ClienteDAO(conexao)
"""
registroLucas = clienteDAO.listaTodos()[1]
clienteLucas = Cliente(registroLucas[1], registroLucas[2], registroLucas[3], registroLucas[0])
#print clienteLucas

clienteLucas.matricula = 11030189
clienteDAO.alterar(clienteLucas)


novoCliente = Cliente("Augusta", "Subway", 11030176)
clienteDAO.inserir(novoCliente)
"""

print clienteDAO.listaTodos()

conexao.encerra()