def EliminarMenu(id_local_seleccionado, id_menu_seleccionado): delete_product_from_menu = input( "Seguro que desea eliminar este menu? (S/N) ") if delete_product_from_menu == "S": psfunc.DeleteQuerry("menues" ,"id_menu = " + str(id_menu_seleccionado) + \ " AND id_local = " + str(id_local_seleccionado))
def EliminarProductoMenu(id_menu_seleccionado): id_producto_seleccionado = psfunc.QuerryOptionIdCheck( "SELECT mp.id_producto FROM menu_producto mp INNER JOIN \ (SELECT men.id_menu FROM menues men WHERE id_menu = " + str(id_menu_seleccionado) + ") AS t1 ON mp.id_menu = t1.id_menu", "Ingresar ID producto: ") if id_producto_seleccionado != 0: delete_product_from_menu = input( "Eliminar el producto del menu? (S/N) ") if delete_product_from_menu == "S": psfunc.DeleteQuerry("menu_producto" , "id_menu = " + str(id_menu_seleccionado) + \ " AND id_producto = " + str(id_producto_seleccionado))
def CategoriasMenu(): while True: psfunc.PrintQuerry("SELECT * FROM categorias") opciones = [ 'Agregar Categoría', 'Editar Categoría', 'Eliminar Categoría', 'Volver al menu principal' ] psfunc.DisplayMenu(opciones) seleccion_usuario = psfunc.InputOpciones(opciones) if (seleccion_usuario == 1): nombre_nueva_categoria = input( "Ingrese el nombre de la nueva categoria: ") querry = psfunc.InsertQuerry( "categorias", (["nombre"]), (["'" + nombre_nueva_categoria + "'"])) if (querry): print("!Categoría agregada!") else: print("Error agregando categoría") elif (seleccion_usuario == 2): categoria_seleccionada = psfunc.QuerryOptionIdCheck( "SELECT id_categoria FROM categorias", "¿Que categoria quiere editar?: ") nuevo_nombre = input("Ingrese nuevo nombre de la categoria: ") querry = psfunc.EditQuerry( "categorias", ["nombre"], [nuevo_nombre], "id_categoria = {}".format(categoria_seleccionada)) if (querry): print("!Categoría editada!") else: print("Error editando categoría") elif (seleccion_usuario == 3): # Eliminar categoria categoria_seleccionada = psfunc.QuerryOptionIdCheck( "SELECT id_categoria FROM categorias", "¿Que categoria quiere eliminar?: ") querry = psfunc.DeleteQuerry( "categorias", "id_categoria = {}".format(categoria_seleccionada)) if (querry): print("!Categoría eliminada!") else: print("Error eliminado categoría") elif seleccion_usuario == 4: break
def MenuLocales(login_nombre_usuario, menu_shoping_cart, product_shoping_cart, id_user): while True: psfunc.PrintQuerry("SELECT * FROM locales") opciones_locales = [ "Seleccionar Local", "Agregar Local", "Volver Atras" ] psfunc.DisplayMenu(opciones_locales) opcion = psfunc.InputOpciones(opciones_locales) if opcion == 1: id_local_seleccionado = psfunc.QuerryOptionIdCheck( "SELECT id_local FROM locales", "Ingresar id local: ") if id_local_seleccionado != 0: while True: psfunc.PrintQuerry( "SELECT * FROM locales WHERE id_local = " + str(id_local_seleccionado)) opcion_local_id = [ "Editar Local", "Eliminar Local", "Ver Menus", "Ver Productos", "Categorias", "Favorito", "Rating", "Volver Atras" ] psfunc.DisplayMenu(opcion_local_id) opcion = psfunc.InputOpciones(opcion_local_id) if opcion == 1: EditarLocal(id_local_seleccionado) elif opcion == 2: delete_check = input( "Seguro que desea eliminar este local (S/N) ") if delete_check == "S": psfunc.DeleteQuerry( "locales", "id_local = " + str(id_local_seleccionado)) elif opcion == 3: VerMenus(id_local_seleccionado, menu_shoping_cart, product_shoping_cart) elif opcion == 4: Productos(id_local_seleccionado, menu_shoping_cart, product_shoping_cart) elif opcion == 5: while True: psfunc.PrintQuerry( "SELECT DISTINCT ON (cat.id_categoria) cat.id_categoria, cat.nombre FROM categorias cat INNER JOIN (SELECT lc.id_local, t1.id_categoria FROM locales lc \ FULL JOIN (SELECT * FROM categoria_local) AS t1 ON lc.id_local = t1.id_local WHERE lc.id_local = " + str(id_local_seleccionado) + ") AS t2\ ON t2.id_categoria = cat.id_categoria ORDER BY cat.id_categoria" ) opcion_local_id = [ "Agregar Categoria", "Eliminar Categoria", "Volver Atras" ] psfunc.DisplayMenu(opcion_local_id) opcion = psfunc.InputOpciones(opcion_local_id) if opcion == 1: print("Agregar Categoria") psfunc.PrintQuerry( "SELECT DISTINCT ON (cat.id_categoria) cat.id_categoria, cat.nombre FROM categorias cat INNER JOIN (SELECT lc.id_local, t1.id_categoria FROM locales lc \ FULL JOIN (SELECT * FROM categoria_local) AS t1 ON lc.id_local = t1.id_local WHERE lc.id_local NOT IN (" + str(id_local_seleccionado) + ")) AS t2\ ON t2.id_categoria = cat.id_categoria ORDER BY cat.id_categoria" ) id_categoria_seleccionada = psfunc.QuerryOptionIdCheck( "SELECT cat.id_categoria FROM categorias cat INNER JOIN (SELECT lc.id_local, t1.id_categoria FROM locales lc \ FULL JOIN (SELECT * FROM categoria_local) AS t1 ON lc.id_local = t1.id_local WHERE lc.id_local NOT IN (" + str(id_local_seleccionado) + ")) AS t2\ ON t2.id_categoria = cat.id_categoria", "Ingresar id categoria: ") if id_categoria_seleccionada != 0: psfunc.InsertQuerry( "categoria_local", (), (str(id_local_seleccionado), str(id_categoria_seleccionada))) elif opcion == 2: print("Eliminar Categoria") id_categoria_seleccionada = psfunc.QuerryOptionIdCheck( "SELECT cat.id_categoria FROM categorias cat INNER JOIN (SELECT lc.id_local, t1.id_categoria FROM locales lc \ FULL JOIN (SELECT * FROM categoria_local) AS t1 ON lc.id_local = t1.id_local WHERE lc.id_local = " + str(id_local_seleccionado) + ") AS t2\ ON t2.id_categoria = cat.id_categoria", "Ingresar id categoria: ") if id_categoria_seleccionada != 0: psfunc.DeleteQuerry( "categoria_local", "id_local = " + str(id_local_seleccionado) + " AND id_categoria = " + str(id_categoria_seleccionada)) elif opcion == 3: break elif opcion == 6: fav = psfunc.SelectQuerry( "SELECT * FROM usuario_favoritos WHERE id_local = " + str(id_local_seleccionado) + " AND id_usuario = " + str(id_user)) if fav: psfunc.DeleteQuerry( "usuario_favoritos", "id_local = " + str(id_local_seleccionado) + " AND id_usuario = " + str(id_user)) print("Eliminado de favoritos") else: psfunc.InsertQuerry( "usuario_favoritos", (), (str(id_user), str(id_local_seleccionado))) print("Agregado a favoritos") elif opcion == 7: Rating(id_local_seleccionado, id_user) elif opcion == 8: break elif opcion == 2: AgregarLocal() elif opcion == 3: break
def Productos(id_local_seleccionado, menu_shoping_cart, product_shoping_cart): while True: psfunc.PrintQuerry( "SELECT pr.id_producto, pr.nombre, pr.precio, t1.valor FROM productos pr FULL JOIN\ (SELECT * FROM descuentos) AS t1 ON pr.id_descuento = t1.id_descuento WHERE pr.id_local = " + str(id_local_seleccionado)) opcion_local_productos = [ "Seleccionar Producto", "Agregar Producto", "Volver Atras" ] psfunc.DisplayMenu(opcion_local_productos) opcion = psfunc.InputOpciones(opcion_local_productos) if opcion == 1: id_producto_seleccionado = psfunc.QuerryOptionIdCheck( "SELECT id_producto FROM productos WHERE id_local = " + str(id_local_seleccionado), "Ingresar id producto: ") if id_producto_seleccionado != 0: while True: psfunc.PrintQuerry( "SELECT * FROM locales WHERE id_local = " + str(id_local_seleccionado)) opcion_local_id = [ "Agregar Al Carrito", "Agregar A Menu", "Editar Producto", "Eliminar Producto", "Descuento", "Volver Atras" ] psfunc.DisplayMenu(opcion_local_id) opcion = psfunc.InputOpciones(opcion_local_id) if opcion == 1: psfunc.AddToCart(id_producto_seleccionado, True, menu_shoping_cart, product_shoping_cart) elif opcion == 2: psfunc.PrintQuerry( "SELECT * FROM menues WHERE id_local = " + str(id_local_seleccionado)) id_menu_seleccionado = psfunc.QuerryOptionIdCheck( "SELECT id_menu FROM menues WHERE id_menu = " + str(id_menu_seleccionado), "Ingresar id menu: ") if id_menu_seleccionado != 0: pr_men = psfunc.SelectQuerry( "SELECT * FROM menu_producto WHERE id_menu = " + str(id_menu_seleccionado) + " AND id_producto = " + str(id_producto_seleccionado)) if pr_men: ctd_pedido = pr_men[0][2] psfunc.UpdateQuerry( "menu_producto", "cantidad_producto = " + str(ctd_pedido + 1), "id_menu = " + str(id_menu_seleccionado) + " AND id_producto = " + str(id_producto_seleccionado)) else: psfunc.InsertQuerry( "menu_producto", (), (str(id_menu_seleccionado), str(id_producto_seleccionado), str(1))) elif opcion == 3: print("Que Parametro Desea Modificar") opcion_editar_menu = [ "Nombre", "Precio", "Volver Atras" ] psfunc.DisplayMenu(opcion_editar_menu) opcion = psfunc.InputOpciones(opcion_editar_menu) if opcion == 1: editar_producto = input( "Ingresar Nuevo Nombre Producto: ") psfunc.UpdateQuerry("productos", "nombre = '" + str(editar_producto) + "'", "id_local = " + str(id_local_seleccionado) \ + " id_producto = " + str(id_producto_seleccionado)) elif opcion == 2: editar_producto = input( "Ingresar Nuevo Precio Producto: ") psfunc.UpdateQuerry("productos", "precio = '" + str(editar_producto) + "'", "id_local = " + str(id_local_seleccionado)\ + "id_producto = " + str(id_producto_seleccionado)) elif opcion == 3: pass elif opcion == 4: delete_product_from_menu = input( "Eliminar el producto del local? (S/N) ") if delete_product_from_menu == "S": psfunc.DeleteQuerry("productos" , "id_producto = " + str(id_producto_seleccionado) + \ " AND id_local = " + str(id_local_seleccionado)) elif opcion == 5: desc = psfunc.SelectQuerry( "SELECT * FROM productos FULL JOIN (SELECT * FROM descuentos) AS t1 ON t1.id_descuento = productos.id_descuento\ WHERE id_producto = " + str(id_producto_seleccionado) + " AND id_local = " + str(id_local_seleccionado)) if desc: psfunc.DeleteQuerry( "descuentos", "id_descuento = " + str(desc[0][0])) else: print("Crear Descuento") try: valor = int(input("Valor del descuento: ")) tipo = input( "Descuento Por Valor(N)/Porcentaje(P)") if tipo == "P" or tipo == "N": psfunc.InsertQuerry( "descuentos", (), (tipo, str(valor))) else: print("Opcion no valida") except: print("Valor no valido") elif opcion == 6: break elif opcion == 2: print("Agregar Producto") nombre_producto = "'" + input("Nombre Producto: ") + "'" precio_producto = input("Precio Producto: ") psfunc.InsertQuerry("productos", ("nombre", "precio", "id_local"), (nombre_producto, str(precio_producto), str(id_local_seleccionado))) elif opcion == 3: break
def VerMenus(id_local_seleccionado, menu_shoping_cart, product_shoping_cart): while True: psfunc.PrintQuerry("SELECT * FROM menues WHERE id_local = " + str(id_local_seleccionado)) opcion_menues = ["Seleccionar Menu", "Agregar Menu", "Volver Atras"] psfunc.DisplayMenu(opcion_menues) opcion = psfunc.InputOpciones(opcion_menues) if opcion == 1: id_menu_seleccionado = psfunc.QuerryOptionIdCheck( "SELECT id_menu FROM menues WHERE id_local = " + str(id_local_seleccionado), "Ingresar id menu: ") if id_menu_seleccionado != 0: while True: psfunc.PrintQuerry("SELECT pr.id_local, pr.id_producto, pr.nombre, pr.precio, pr.id_descuento \ FROM productos pr INNER JOIN \ (SELECT mp.id_producto FROM menu_producto mp INNER JOIN \ (SELECT men.id_menu FROM menues men WHERE id_menu = " + str(id_menu_seleccionado) + \ ") AS t1 ON mp.id_menu = t1.id_menu) AS t2 ON pr.id_producto = t2.id_producto") opcion_menues = [ "Agregar Menu Al Carrito", "Eliminar Producto Del Menu", "Editar Menu", "Eliminar Menu", "Descuento", "Volver Atras" ] psfunc.DisplayMenu(opcion_menues) opcion = psfunc.InputOpciones(opcion_menues) if opcion == 1: psfunc.AddToCart(id_menu_seleccionado, False, menu_shoping_cart, product_shoping_cart) print("Menu Agregado Al Carrito") elif opcion == 2: EliminarProductoMenu(id_menu_seleccionado) elif opcion == 3: EditarMenu(id_local_seleccionado, id_menu_seleccionado) elif opcion == 4: EliminarMenu(id_local_seleccionado, id_menu_seleccionado) elif opcion == 5: desc = psfunc.SelectQuerry( "SELECT * FROM menues FULL JOIN (SELECT * FROM descuentos) AS t1 ON t1.id_descuento = menues.id_descuento\ WHERE id_menu = " + str(id_menu_seleccionado) + " AND id_local = " + str(id_local_seleccionado)) if desc: psfunc.DeleteQuerry( "descuentos", "id_descuento = " + str(desc[0][0])) else: print("Crear Descuento") try: valor = int(input("Valor del descuento: ")) tipo = input( "Descuento Por Valor(N)/Porcentaje(P)") if tipo == "P" or tipo == "N": psfunc.InsertQuerry( "descuentos", (), (tipo, str(valor))) else: print("Opcion no valida") except: print("Valor no valido") elif opcion == 6: break elif opcion == 2: AgregarMenu(id_local_seleccionado) elif opcion == 3: break
def Directions(login_nombre_usuario): id_user = psfunc.SelectQuerry( f"SELECT id_usuario FROM Usuarios WHERE email= '{login_nombre_usuario}'" ) id_user = id_user[0][0] while True: print("\nDirecciones\n") headers = [ "ID", "Nombre", "Calle", "Número", "Región", "Comuna", "Dpto/block" ] sql = psfunc.PrintQuerryCustomHeaders( f"SELECT id_direccion, nombre, calle, numero, region, comuna, dpto_block \ FROM usuario_direccion INNER JOIN Direcciones \ USING(id_direccion)\ WHERE id_usuario= {id_user}", headers) print(sql) #Direcciones de usuario menu_directions = [ "Ver dirección", "Agregar dirección", "Volver a Menú" ] psfunc.DisplayMenu(menu_directions) option_directions = psfunc.InputOpciones(menu_directions) if option_directions == 1: print("Ver dirección\n") print(sql) text = "Ingrese la direccion que desea ver:" querry = f"SELECT id_direccion \ FROM usuario_direccion INNER JOIN Direcciones \ USING(id_direccion) WHERE id_usuario={id_user}" id_direction = psfunc.QuerryOptionIdCheck(querry, text) while True: if id_direction != 0: print(sql) menu_whatch = [ "Editar direccion", "Eliminar direccion", "Volver a Direcciones" ] psfunc.DisplayMenu(menu_whatch) option_whatch = psfunc.InputOpciones(menu_whatch) if option_whatch == 1: print("\nEditar direccion\n") print("Seleccione el campo que desea editar") menu_editor = [ "Nombre", "Calle", "Número", "Región", "Comuna", "dpto_block", "Volver a Direcciones" ] psfunc.DisplayMenu(menu_editor) option_editor = psfunc.InputOpciones(menu_editor) if option_editor == 1: #Nombre new_name = input( "Ingrese el nuevo alias para la direccion:") table = "direcciones" set_parameters = f"nombre='{new_name}'" where_parameters = f"id_direccion= {id_direction}" psfunc.UpdateQuerry(table, set_parameters, where_parameters) if option_editor == 2: #Calle new_street = input( "Ingrese la nueva calle para la direccion:") table = "direcciones" set_parameters = f"calle='{new_street}'" where_parameters = f"id_direccion= {id_direction}" psfunc.UpdateQuerry(table, set_parameters, where_parameters) if option_editor == 3: #Numero new_number = input( "Ingrese el numero de calle para la direccion:" ) table = "direcciones" set_parameters = f"numero={new_number}" where_parameters = f"id_direccion= {id_direction}" psfunc.UpdateQuerry(table, set_parameters, where_parameters) if option_editor == 4: #Region new_region = input( "Ingrese la region para la direccion:") table = "direcciones" set_parameters = f"region='{new_region}'" where_parameters = f"id_direccion= {id_direction}" psfunc.UpdateQuerry(table, set_parameters, where_parameters) if option_editor == 5: #Comuna new_comuna = input( "Ingrese la comuna para la direccion:") table = "direcciones" set_parameters = f"comuna='{new_comuna}'" where_parameters = f"id_direccion= {id_direction}" psfunc.UpdateQuerry(table, set_parameters, where_parameters) if option_editor == 6: #Dpto_block new_dptoblock = input( "Ingrese el dpto o block para la direccion:") table = "direcciones" set_parameters = f"dpto_block={new_dptoblock}" where_parameters = f"id_direccion= {id_direction}" psfunc.UpdateQuerry(table, set_parameters, where_parameters) if option_editor == 7: #Volver atrás break if option_whatch == 2: print( "\n¿Estas seguro que deseas eliminar a esta dirección?" ) yes_no = ["Sí, estoy seguro", "No estoy seguro"] psfunc.DisplayMenu(yes_no) option_delete = psfunc.InputOpciones(yes_no) if option_delete == 1: table = "direcciones" table2 = "usuario_direccion" text = f"id_direccion= {id_direction}" psfunc.DeleteQuerry(table, text) psfunc.DeleteQuerry(table2, text) break if option_delete == 2: break if option_whatch == 3: break elif option_directions == 2: print("\nAgregar Direccion") table = "direcciones" table2 = "usuario_direccion" name = input("Ingrese el nombre:") street = input("Ingrese la calle:") try: number = int(input("Ingrese la enumeración:")) region = input("Ingrese la region:") comuna = input("Ingrese la comuna:") dpto_block = input( "Ingrese el numero de dpto o block. En caso de no corresponder presione enter:" ) if dpto_block == "": try: cur = psfunc.GetCon().cursor() insertsrt = f"INSERT INTO {table}(nombre, calle, numero, region,comuna, dpto_block) values('{name}','{street}',{number},'{region}','{comuna}',null)" cur.execute(insertsrt) psfunc.GetCon().commit() print("\nDireccion añadida con exito") id_new1 = psfunc.SelectQuerry( "SELECT*FROM Direcciones ORDER BY id_direccion DESC LIMIT 1" ) id_new = id_new1[0][0] instertsrt2 = f"INSERT INTO {table2}(id_direccion,id_usuario) values(" + str( id_new) + "," + str(id_user) + ")" cur.execute(instertsrt2) psfunc.GetCon().commit() print("La direccion fue añadida exitosamente") except: print("Error al agregar direccion") else: try: dpto_block = int(dpto_block) cur = psfunc.GetCon().cursor() insertsrt = f"INSERT INTO {table}(nombre, calle, numero, region,comuna, dpto_block) values('{name}','{street}',{number},'{region}','{comuna}',{dpto_block})" cur.execute(insertsrt) psfunc.GetCon().commit() print("\nDireccion añadida con exito") id_new = psfunc.SelectQuerry( "SELECT*FROM Direcciones ORDER BY id_direccion DESC LIMIT 1" ) id_new = id_new[0][0] instertsrt2 = f"INSERT INTO {table2}(id_direccion,id_usuario) values(" + str( id_new) + "," + str(id_user) + ")" cur.execute(instertsrt2) psfunc.GetCon().commit() print("La direccion fue añadida exitosamente") except: print("Error al agregar direccion") except: print("Parametro ingresado no valido") elif option_directions == 3: break
def PromocionesMenu(id_user): while (True): psfunc.PrintQuerry( "SELECT id_codigo, nombre, (monto * usos) as monto FROM promociones ORDER BY id_codigo" ) opciones = [ 'Agregar Promoción nueva', 'Agregar Promoción a cuenta', 'Eliminar Promoción', 'Volver al menu principal' ] psfunc.DisplayMenu(opciones) seleccion_usuario = psfunc.InputOpciones(opciones) if (seleccion_usuario == 1): #Agregar nueva_promocion_nombre = input("Nombre: ") nueva_promcion_monto = input("Monto: ") nueva_promcion_fecha_vencimiento = input("Fecha (yyyy-mm-dd): ") nueva_promcion_descripcion = input("Descripción: ") nueva_promcion_usos = input("Usos: ") querry = psfunc.InsertQuerry( "promociones", (["nombre", "monto", "fecha_venc", "descripcion", "usos"]), ([ "'" + nueva_promocion_nombre + "'", nueva_promcion_monto, "'" + nueva_promcion_fecha_vencimiento + "'", "'" + nueva_promcion_descripcion + "'", nueva_promcion_usos ])) if (querry): print("!Promoción agregada!") else: print("Error agregando promoción") elif (seleccion_usuario == 2): #Agregar promoción a cuenta promocion_seleccionada = psfunc.QuerryOptionIdCheck( "SELECT id_codigo FROM promociones", "Que promocion quiere agregar?: ") querry = psfunc.InsertQuerry( "promocion_usuario", (["id_usuario", "id_codigo", "fecha_canje"]), ([ str(id_user), str(promocion_seleccionada), "'" + datetime.today().strftime('%Y-%m-%d') + "'" ])) if (querry): print("!Promoción agregada a usuario!") else: print("Error agregando promoción a usuario") elif (seleccion_usuario == 3): #Eliminar promocion_seleccionada = psfunc.QuerryOptionIdCheck( "SELECT id_codigo FROM promociones", "Que promocion quiere eliminar?: ") querry = psfunc.DeleteQuerry( "promociones", "id_codigo = {}".format(promocion_seleccionada)) if (querry): print("!Promoción eliminada!") else: print("Error eliminado promoción") elif seleccion_usuario == 4: break