예제 #1
0
 def nuevo_cliente_particular(self, nombre, apellido, telefono, mail):
     c = ClienteParticular(nombre, apellido, telefono, mail)
     c.id_contacto = self.rc.store(c)
     if c.id_cliente == 0:
         return None
     else:
         self.lista.append(c)
         return c
예제 #2
0
 def nuevo_cliente_particular(self, nombre, apellido, telefono, mail):
     client = ClienteParticular(nombre, apellido, telefono, mail)
     client.id_cliente = self.reposclientes.store(client)
     if client.id_cliente == 0:
         return None
     else:
         self.lista.append(client)
         return client
예제 #3
0
 def nuevo_cliente_particular(self, nombre, apellido, telefono, mail):
     cp = ClienteParticular(nombre, apellido, telefono, mail)
     cp.id_cliente = self.rc.store(cp)
     if cp.id_cliente == 0:
         return False
     else:
         self.lista_clientes.append(cp)
         return cp
예제 #4
0
 def nuevo_cliente_particular(self, nombre, apellido, telefono, mail):
     """Recibe los datos de un cliente particular, crea un nuevo cliente particular y lo agrega a la lista de clietes"""
     c = ClienteParticular(nombre, apellido, telefono, mail)
     c.id_cliente = self.rc.store(c)
     if c.id_cliente == 0:
         return None
     else:
         self.list_clientes.append(c)
         return c
예제 #5
0
 def NuevoClientePart(self, nombre, apellido, telefono, mail):
     """Recibe los datos de un cliente particular, crea un nuevo cliente particular y lo agrega a la lista de clientes"""
     C = ClienteParticular(nombre, apellido, telefono, mail)
     C.id_cliente = self.RC.store(C)
     if C.id_cliente == 0:
         return None
     else:
         self.ClienteL.append(C)
         return C
예제 #6
0
    def modificar_cliente(self):
        tipo = "A"
        id_cliente = int(input("Ingrese el ID del cliente registrado: "))
        while tipo not in ("C", "c", "P", "p"):
            tipo = input(
                "Ingrese el tipo de cliente: C: Corporativo/ P: Particular ")
        nombre = input("Ingrese el nombre: ")
        if tipo in ("C", "c"):
            contacto = input("Ingrese el nombre del contacto: ")
            tc = input("Ingrese el telefono del contacto: ")
        else:
            apellido = input("Ingrese el apellido: ")
        tel = input("Ingrese el telefono: ")
        mail = input("Ingresa la direccion de email: ")
        if tipo in ("C", "c"):
            cliente = ClienteCorporativo(nombre, contacto, tc, tel, mail,
                                         id_cliente)
            c = self.repositoriocl.update(cliente)
        else:
            cliente = ClienteParticular(nombre, apellido, tel, mail,
                                        id_cliente)
            c = self.repositoriocl.update(cliente)

        if c is None:
            print("Error al modificar el cliente")
        else:
            print("Cliente modificado correctamente")
예제 #7
0
 def eliminar_clientes(self, lista=None):
     tipo = "A"
     while tipo not in ("C", "c", "P", "p"):
         tipo = input(
             "Ingrese el tipo de cliente que desea eliminar: C = Corporativo - P = Particular: "
         )
     nombre = None
     if tipo in ("C", "c"):
         id = int(input("Ingrese el id del cliente que desea eliminar: "))
         contacto = None
         tc = None
     else:
         id = int(input("Ingrese el id del cliente que desea eliminar: "))
         apellido = None
     tel = None
     mail = None
     if tipo in ("C", "c"):
         cliente = ClienteCorporativo(nombre, contacto, tc, tel, mail, id)
         c = self.reposclientes.delete(cliente)
     else:
         cliente = ClienteParticular(nombre, apellido, tel, mail, id)
         c = self.reposclientes.delete(cliente)
     if c is False:
         print("Error al intentar eliminar al cliente de la base de datos")
     else:
         print("Cliente eliminado correctamente de la base de datos")
예제 #8
0
 def actualizar_datos_clientes(self):
     id = int(input("Ingrese el id del cliente: "))
     tipo = "A"
     while tipo not in ("C", "c", "P", "p"):
         tipo = input(
             "Ingrese el tipo de cliente: C = Corporativo - P = Particular: "
         )
     nombre = input("Ingrese el nuevo nombre: ")
     if tipo in ("C", "c"):
         contacto = input("Ingrese el nuevo nombre del contacto: ")
         tc = input("Ingrese el telefono del contacto: ")
     else:
         apellido = input("Ingrese el nuevo apellido: ")
     tel = input("Ingrese el nuevo telefono: ")
     mail = input("Ingrese el nuevo correo electronico: ")
     if tipo in ("C", "c"):
         cliente = ClienteCorporativo(nombre, contacto, tc, tel, mail, id)
         c = self.reposclientes.update(cliente)
     else:
         cliente = ClienteParticular(nombre, apellido, tel, mail, id)
         c = self.reposclientes.update(cliente)
     if c is False:
         print(
             "Error al intentar modificar al cliente, no existe en la lista que corresponde al tipo seleccionado (C o P)"
         )
     else:
         print("Cliente modificado correctamente")
예제 #9
0
 def add_client_particular(self):
     #si las validaciones son correctas
     if self.validations_particular():
         parameters = ClienteParticular(self.name.get(), self.surname.get(),
                                        self.phone.get(), self.mail.get())
         parameters.id_cliente = self.rc.store(parameters)
         self.lista_clientes.append(parameters)
         self.message[
             'text'] = 'El cliente personal {0} {1} ha sido añadido correctamente'.format(
                 self.name.get(), self.surname.get())
         self.name.delete(0, END)
         self.surname.delete(0, END)
         self.phone.delete(0, END)
         self.mail.delete(0, END)
         self.get_clients()
         return parameters
     else:
         self.message[
             'text'] = 'Nombre, Apellido, Teléfono y Mail son requeridos'
예제 #10
0
 def edit_clients_part(self, new_name, new_surname, new_phone, new_mail,
                       id_cliente):
     '''Editar un cliente particular'''
     parameters = ClienteParticular(new_name, new_surname, new_phone,
                                    new_mail, id_cliente)
     self.rc.update(parameters)
     self.edit_window.destroy()
     self.message[
         'text'] = 'El cliente {0} {1} sido editado correctamente'.format(
             new_name, new_surname)
     self.get_clients()
예제 #11
0
 def nuevo_trabajo(self):
     tipo = "A"
     while tipo not in ("C", "c", "P", "p"):
         tipo = input(
             "Ingrese el tipo de cliente al que desa asignarle el trabajo: C = Corporativo - P = Particular: "
         )
     nombre = None
     if tipo in ("C", "c"):
         id = int(input("Ingrese el id del cliente: "))
         contacto = None
         tc = None
     else:
         id = int(input("Ingrese el id del cliente: "))
         apellido = None
     tel = None
     mail = None
     if tipo in ("C", "c"):
         cliente = ClienteCorporativo(nombre, contacto, tc, tel, mail, id)
         fecha_ingreso = datetime.date.today()
         print("Fecha de entrega propuesta: ")
         dia = (int(input("Ingrese el dia de entrega propuesta: ")))
         mes = (int(input("Ingrese el mes de entrega propuesta: ")))
         anio = (int(input("Ingrese el año de entrega propuesta: ")))
         fecha_entrega_propuesta = datetime.date(anio, mes, dia)
         fecha_entrega_real = None
         retirado = False
         descripcion = input(
             "Ingrese una breve descripcion del trabajo a realizar: ")
         nt = self.listatrabajos.nuevo_trabajo(cliente, fecha_ingreso,
                                               fecha_entrega_propuesta,
                                               fecha_entrega_real,
                                               descripcion, retirado)
     else:
         cliente = ClienteParticular(nombre, apellido, tel, mail, id)
         fecha_ingreso = datetime.date.today()
         print("Fecha de entrega propuesta: ")
         dia = (int(input("Ingrese el dia de entrega propuesta: ")))
         mes = (int(input("Ingrese el mes de entrega propuesta: ")))
         anio = (int(input("Ingrese el año de entrega propuesta: ")))
         fecha_entrega_propuesta = datetime.date(anio, mes, dia)
         fecha_entrega_real = None
         retirado = False
         descripcion = input(
             "Ingrese una breve descripcion del trabajo a realizar: ")
         nt = self.listatrabajos.nuevo_trabajo(cliente, fecha_ingreso,
                                               fecha_entrega_propuesta,
                                               fecha_entrega_real,
                                               descripcion, retirado)
     if nt == 0:
         print("Error al intentar cargar el trabajo nuevo")
     else:
         print("Trabajo cargado exitosamente")
예제 #12
0
 def get_one_particular(self, id_cliente):
     '''Recibe un id de cliente (número entero). Retorna un cliente
     Particular. Si no lo encuentra, retorna None.'''
     consulta = "SELECT cp.nombre, cp.apellido, c.telefono, c.mail  \
                 FROM cliente c \
                 JOIN cliente_particular cp ON c.id = cp.id_cliente \
                 WHERE c.id = ?"
     result = self.cursor.execute(consulta,[id_cliente]).fetchone()
     if result == None:
         return None
     else:
         return ClienteParticular(result[0], result[1], result[2], 
                                   result[3], id_cliente);
예제 #13
0
 def get_all_particulares(self):
     '''Retorna una lista, compuesta por todos los objetos
     ClienteParticular'''
     lista_clientes = []
     # Consultamos primero los clientes c orporativos:
     consulta = "SELECT c.id, cp.nombre, cp.apellido, c.telefono, c.mail \
                 FROM cliente_particular cp \
                 JOIN cliente c ON c.id = cp.id_cliente";
     self.cursor.execute(consulta)
     todos_los_clientes = self.cursor.fetchall()
     for id_cliente, nombre, apellido, telefono, mail in todos_los_clientes:
         lista_clientes.append(
             ClienteParticular(nombre, apellido, telefono, mail, id_cliente)
             )
     return lista_clientes
예제 #14
0
 def delete_clients_part(self):
     '''Eliminar a un cliente particular'''
     name = self.tree.item(self.tree.selection())['text']
     surname = self.tree.item(self.tree.selection())['values'][0]
     phone = self.tree.item(self.tree.selection())['values'][1]
     mail = self.tree.item(self.tree.selection())['values'][2]
     id_cliente1 = self.tree.item(self.tree.selection())['values'][3]
     try:
         self.tree.item(self.tree.selection())['text']
     except IndexError:
         self.message['text'] = 'Seleccione a un cliente'
     name = self.tree.item(self.tree.selection())['text']
     parameters = ClienteParticular(name, surname, phone, mail, id_cliente1)
     self.rc.delete(parameters)
     self.message[
         'text'] = 'El cliente {0} {1} sido editado correctamente'.format(
             name, surname)
     self.get_clients()
예제 #15
0
 def actualizar_datos(self):
     tipo = "A"
     id = int(input("Ingrese ID del cliente para actualizar sus datos: "))
     while tipo not in ("C", "c", "P", "p"):
         tipo =  input("Ingrese el tipo de cliente: C: Corporativo / P: Particular: ")
     nombre = input("Ingrese el nombre actualizado del contacto: ")
     if tipo in ("C", "c"):
         contacto = input("Ingrese el nombre actualizado  de la empresa: ")
         tc = int(input("Ingrese el telefono actualizado  de la empresa: "))
     else:
         apellido = input("Ingrese el apellido actualizado : ")
     tel = int(input("Ingrese el telefono particular actualizado : "))
     mail = input("Ingrese el correo electronico actualizado : ")
     if tipo in ("C", "c"):
         cliente = ClienteCorporativo(nombre, contacto,  tc, tel, mail, id)
         c = self.recl.update(cliente)            
     else:
         cliente = ClienteParticular(nombre, apellido, tel, mail, id)
         c = self.recl.update(cliente)  
     if c is None:
         print("Error al actualizar el cliente")
     else:
         print("Cliente actualizado correctamente")