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")
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")
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
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
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
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
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
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()
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")
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)
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()
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 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")