Example #1
0
 def nuevo_cliente_corporativo(self, nombre_empresa, nombre_contacto, telefono_contacto, telefono, mail):
     client = ClienteCorporativo(nombre_empresa, nombre_contacto, telefono_contacto, telefono, mail)
     client.id_cliente = self.reposclientes.store(client)
     if client.id_cliente == 0:
         return None
     else:
         self.lista.append(client)
         return client
Example #2
0
 def NuevoClienteCorp(self, nombre_empresa, nombre_contacto, telefono_contacto, telefono, mail):
     """Recibe los datos de un cliente corporativo, crea un nuevo cliente corporativo y lo agrega a lista de clientes"""
     C = ClienteCorporativo(nombre_empresa, nombre_contacto, telefono_contacto, telefono, mail)
     C.id_cliente = self.RC.store(C)
     if C.id_cliente == 0:
         return None
     else:
         self.ClienteL.append(C)
         return C
Example #3
0
 def nuevo_cliente_corporativo(self, nombre_empresa, nombre_contacto,
                               telefono_contacto, telefono, mail):
     c = ClienteCorporativo(nombre_empresa, nombre_contacto,
                            telefono_contacto, telefono, mail)
     c.id_contacto = self.rc.store(c)
     if c.id_cliente == 0:
         return None
     else:
         self.lista.append(c)
         return c
Example #4
0
 def nuevo_cliente_corporativo(self, nombre, nombre_contacto,
                               telefono_contacto, telefono, mail):
     """Recibe los datos de un cliente corporativo, crea un nuevo cliente corporativo y lo agrega a lista de clientes"""
     c = ClienteCorporativo(nombre, nombre_contacto, telefono_contacto,
                            telefono, mail)
     c.id_cliente = self.rc.store(c)
     if c.id_cliente == 0:
         return None
     else:
         self.list_clientes.append(c)
         return c
Example #5
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")
Example #6
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")
Example #7
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")
    def get_all_corporativos(self):
        """Retorna una lista, compuesta por todos los objetos
        ClienteCorporativo"""
        lista_clientes = []
        # Consultamos primero los clientes corporativos:
        consulta = "SELECT c.id, cc.nombre_empresa, cc.nombre_contacto, \
                    cc.telefono_contacto, c.telefono, c.mail \
                    FROM cliente_corporativo cc \
                    JOIN cliente c ON c.id = cc.id_cliente"

        self.cursor.execute(consulta)
        todos_los_clientes = self.cursor.fetchall()
        for (
                id_cliente,
                empresa,
                contacto,
                telefono_contacto,
                telefono_empresa,
                mail_empresa,
        ) in todos_los_clientes:
            lista_clientes.append(
                ClienteCorporativo(
                    empresa,
                    contacto,
                    telefono_contacto,
                    telefono_empresa,
                    mail_empresa,
                    id_cliente,
                ))
        return lista_clientes
Example #9
0
 def edit_clients_corp(self, new_company_name, new_contact_name,
                       new_contact_phone, new_phone, new_mail, id_cliente):
     '''Editar un cliente corporativo'''
     parameters = ClienteCorporativo(new_company_name, new_contact_name,
                                     new_contact_phone, new_phone, new_mail,
                                     id_cliente)
     self.rc.update(parameters)
     self.edit_window2.destroy()
     self.message[
         'text'] = 'El cliente {0} de la empresa {1} ha sido editado correctamente'.format(
             new_contact_name, new_company_name)
     self.get_clients()
Example #10
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")
Example #11
0
 def add_client_corporativo(self):
     #si las validaciones son correctas
     if self.validations_corporativo():
         parameters = ClienteCorporativo(self.company_name.get(),
                                         self.contact_name.get(),
                                         self.contact_phone.get(),
                                         self.phone.get(), self.mail.get())
         parameters.id_cliente = self.rc.store(parameters)
         self.lista_clientes.append(parameters)
         self.message[
             'text'] = 'El cliente corporativo {0} de la empresa {1} ha sido añadido correctamente'.format(
                 self.contact_name.get(), self.company_name.get())
         self.company_name.delete(0, END)
         self.contact_name.delete(0, END)
         self.contact_phone.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'
    def get_one_corporativo(self, id_cliente):
        '''Recibe un id de cliente (número entero). Retorna un cliente
        Corporativo. Si no lo encuentra, retorna None.'''
        consulta = "SELECT  cc.nombre_empresa, cc.nombre_contacto, \
                            cc.telefono_contacto c.telefono, c.mail\
                    FROM cliente c \
                    JOIN cliente_corporativo cc ON c.id = cc.id_cliente \
                    WHERE c.id = ?"

        result = self.cursor.execute(consulta, [id_cliente]).fetchone()
        if result == None:
            return None
        else:
            return ClienteCorporativo(result[0], result[1], result[2],
                                      result[3], result[4], id_cliente)
Example #13
0
 def delete_clients_corp(self):
     '''Eliminar a un cliente corporativo'''
     company_name = self.tree2.item(self.tree2.selection())['text']
     contact_name = self.tree2.item(self.tree2.selection())['values'][0]
     contact_phone = self.tree2.item(self.tree2.selection())['values'][1]
     phone = self.tree2.item(self.tree2.selection())['values'][2]
     mail = self.tree2.item(self.tree2.selection())['values'][3]
     id_cliente1 = self.tree2.item(self.tree2.selection())['values'][4]
     try:
         self.tree.item(self.tree2.selection())['text']
     except IndexError:
         self.message['text'] = 'Seleccione a un cliente'
     parameters = ClienteCorporativo(company_name, contact_name,
                                     contact_phone, phone, mail,
                                     id_cliente1)
     self.rc.delete(parameters)
     self.message[
         'text'] = 'El cliente {0} de la empresa {1} sido eliminado correctamente'.format(
             contact_name, company_name)
     self.get_clients()
Example #14
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")