コード例 #1
0
ファイル: buscar.py プロジェクト: fing-UP/dsetrabajo
def buscar(name, page, cate, precio=None, orden=None):
    url = '/buscar={}/{}/'.format(name, cate)
    if precio == "N-N" or precio == None:
        bajo = -1
        alto = 10000000
    else:
        precio = precio.split("-")
        bajo = int(precio[0])
        alto = int(precio[1])
    alf = "asc" if orden == "a-z" else "desc" if orden == "z-a" else None
    pre = "asc" if orden == "asc" else "desc" if orden == "desc" else None
    if (name == -1):
        return redirect(url_for("inicio.index"))
    else:
        print(name)
        if (cate == "todo"):
            productos = Producto().buscarProducto(Palabra=name,
                                                  num=page,
                                                  bajo=bajo,
                                                  alto=alto,
                                                  alf=alf,
                                                  pre=pre)

        else:
            productos = Producto().buscarProducto(Palabra=name,
                                                  num=page,
                                                  categoria=[cate],
                                                  bajo=bajo,
                                                  alto=alto,
                                                  alf=alf,
                                                  pre=pre)

        return render_template("buscar.html", products=productos, url=url)
コード例 #2
0
ファイル: DetalleCarrito.py プロジェクト: fing-UP/dsetrabajo
    def obtenerDetalleCarrito(self):
        database = sqlite3.connect("linioexp_parcial_lab3.db")
        texto=0
        try:
            if (self.oCarrito== None):
                idpro="1"
                idcar="1"
            else:
                idpro=self.oProducto.idProducto
                idcar=self.oCarrito.idCarrito

            cursor = database.cursor()
            query = '''
                    SELECT * from detalleCarrito 
                    WHERE idDetalleCarrito = '{}' or (idProducto='{}' and idCarrito='{}') 
                    '''.format(self.__idDetalleCarrito,idpro,idcar)
            cursor.execute(query)
            lista = cursor.fetchall()[0]
            texto= 0 if idpro != lista[2] else 1
            self.__idDetalleCarrito=self.__idDetalleCarrito

            self.oProducto= Producto(idProducto=lista[2])

            self.oProducto.obtenerProducto()
            self.oCarrito= Carrito(idCarrito=lista[1])
            self.oCarrito.obtenerCarrito()
            self.__cantidad=lista[3]
            self.__subtotal=lista[4]

           
        except Exception as e:
            print("Error: {}".format(e))
        finally:
            database.close()
            return texto
コード例 #3
0
ファイル: compras.py プロジェクト: fing-UP/dsetrabajo
def carrito():

    session["selel"] = ""

    session["selet"] = ""
    print(session["id"] != "")
    if session["id"] != None and session["id"] != "":
        try:
            listas = Carrito(idCarrito=Cliente(
                idCliente=session["id"]).generarListaCarrito()[0]
                             [0]).generarListaDetalleCarrito()

            listas = [
                tuple(Producto(idProducto=x[2]).obtenerlistaProducto()) + x
                for x in listas
            ]

        except:
            listas = []

    else:
        try:
            listas = [
                tuple(Producto(idProducto=x[0]).obtenerlistaProducto()) +
                tuple(x) for x in session["Carrito"]
            ]
        except:
            listas = []
    p = 0 if session["id"] == "" or session["id"] is None else 1
    return render_template('carrito.html', lista=listas, session=p)
コード例 #4
0
ファイル: buscar.py プロジェクト: fing-UP/dsetrabajo
def producto(name):
    print(name)
    pr = Producto(idProducto=name)
    pr.obtenerProducto()

    return render_template("producto.html",
                           idproducto=pr.idProducto,
                           nombre=pr.nombre,
                           precio=pr.precio,
                           session=session["id"])
コード例 #5
0
 def anadirProducto(self):
     self.imprimir("Bienvenido a agregar Producto")
     nombreProducto = input("Escriba el Nombre Producto : ")
     precioProducto = input("Escriba el precio del producto : ")
     cantidadProducto = input("Escriba la cantidad del producto : ")
     # Creamos la instancia de un nuevo producto
     nuevoProducto = Producto(nombreProducto,precioProducto,cantidadProducto)
     # imprimimos el total
     self.imprimir("Total a pagar por este elemento : " + str(nuevoProducto.calcularTotalIndividual()))
     # lo añadimos al cliente
     self.cliente.anadirProducto(nuevoProducto)
コード例 #6
0
ファイル: compras.py プロジェクト: fing-UP/dsetrabajo
def anadir(codigo=None):
    if (request.method == 'POST' or codigo is not None):
        if codigo is None:
            idproducto = request.form['idproducto']

            number = int(request.values['number'])
        else:
            idproducto = codigo
            number = 1

        if session["id"] != "" and session["id"] != None:
            print(session["id"], 4343)
            pre = Producto(idProducto=idproducto)
            pre.obtenerProducto()

            Det = DetalleCarrito(carrito=Carrito(idCarrito=Cliente(
                idCliente=session["id"]).generarListaCarrito()[0][0]),
                                 cantidad=number,
                                 producto=pre)

            if (Det.obtenerDetalleCarrito() == 0):
                print(Det.idDetalleCarrito, Det)
                Det.agregarDetalleCarrito()
            else:
                Det.cantidad = number
                Det.actualizarDetalleCarrito(var=1)

        else:
            t = 1
            try:

                c = 0
                for e in session["Carrito"]:
                    if (e[0] == idproducto):
                        session["Carrito"][c][3] += number
                        session.modified = True
                        t = t * 0
                        c += 1

            except:
                print(t)
                session["Carrito"] = []
                session.modified = True
            print(t)
            if (session["Carrito"]) == []:
                t = 1
            print(session["Carrito"])
            print(4)
            if t == 1:
                print(4)
                session["Carrito"].append([idproducto, 0, 0, number, 0])
                session.modified = True

    return redirect(url_for("compras.carrito"))
コード例 #7
0
ファイル: Main.py プロジェクト: reinelTram/PetShop-Python
    def datosFicticios():

        e1 = Empleado()
        p1 = Producto(empleado=e1,
                      nombre="Collar para perro",
                      valor=10000,
                      descripcion="Un bonito collar verde para perro")
        p2 = Producto(empleado=e1,
                      nombre="Gimnasio para gato",
                      valor=54000,
                      descripcion="Una cosa de locos ")

        Main.productos.append(p1)
        Main.productos.append(p2)
コード例 #8
0
ファイル: Carrito.py プロジェクト: fing-UP/dsetrabajo
    def comprarCarrito(self, Lugar, tarjeta=None):
        if tarjeta is None:
            metPago = "EFECTIVO"
            nuevaOrden = Orden(cliente=self.oCliente,
                               direccionEntrega=Lugar,
                               metodoPago=metPago,
                               tarifa=self.__importeTotal,
                               estado="C")
        else:
            metPago = "TARJETA"
            nuevaOrden = Orden(cliente=self.oCliente,
                               direccionEntrega=Lugar,
                               metodoPago=metPago,
                               tarifa=self.__importeTotal,
                               estado="C",
                               tarjeta=Tarjeta(numTarjeta=tarjeta))

        nuevaOrden.agregarOrden()
        for dc in self.__listaDetalleCarrito:

            pro = Producto(idProducto=dc[2])
            pro.obtenerProducto()
            pro.stock = pro.stock - int(dc[3])

            pro.actualizarProducto()
            nuevoDetOrden = DetalleOrden(orden=nuevaOrden,
                                         producto=pro,
                                         cantidad=dc[3])
            nuevoDetOrden.agregarDetalleOrden()

        self.limpiarCarrito()
コード例 #9
0
def populate_data():
    productos = []
    inventario = []

    #---Popular productos ----
    id = autoIncrement('productos')
    producto_1 = Producto(
        id = id,
        nombre = 'Jabón en Polvo',
        referencia = 'producto_{}'.format(id),
        valor = '14500',
        cantidad_inventario = 10 
    )
    id = autoIncrement('productos')
    producto_2 = Producto(
        id = id,
        nombre = 'Arroz costal',
        referencia = 'producto_{}'.format(id),
        valor = '24000',
        cantidad_inventario = 10 
    )
    id = autoIncrement('productos')
    producto_3 = Producto(
        id = id,
        nombre = 'Panela',
        referencia = 'producto_{}'.format(id),
        valor = '5500',
        cantidad_inventario = 10 
    )
    id = autoIncrement('productos')
    producto_4 = Producto(
        id = id,
        nombre = 'Gelatina',
        referencia = 'producto_{}'.format(id),
        valor = '10000',
        cantidad_inventario = 10 
    )
    productos.append(producto_1)
    productos.append(producto_2)
    productos.append(producto_3)
    productos.append(producto_4)

    return {
        'productos' : productos
    }
コード例 #10
0
ファイル: comercio.py プロジェクト: fing-UP/dsetrabajo
def ActualizandoProducto(producto):


    if (request.method=="POST"):
        print(request.form)
        Nombre=request.form['nombre']
        Descripcion = request.form['Descripcion']
        Precio = request.form['Precio']
        Categoria = request.form['Categoria']
        Cantidad = request.form['Cantidad']
        Imagen = request.form['Imagen']
        Descuento = request.form['Descuento']
        co=Comercio(idComercio=session["idCom"])
        co.obtenerComercio()
        print(Categoria,33333333333)
        pro=Producto(idProducto=producto,nombre=Nombre,descuento=Descuento,categoria=Categoria,stock=Cantidad,precio=Precio,descripcion=Descripcion,comercio=co)
        pro.actualizarProducto()
    return redirect(url_for("comercio.ComProductos"))
コード例 #11
0
ファイル: Categoria.py プロジェクト: Bgeninatti/PriceSmash
 def fetch_prods(self):
     if self.url != "":
         self._fetch_pages()
         for p in range(1, self._pages):
             if p != 1:
                 self.load_site(self.url + "/" + str(p))
             table = self._soup.find("table", re.compile("tabla_"))
             if table:
                 for row in table.findAll("tr"):
                     col = row.findAll("td")
                     if len(col) > 4:
                         id = row.get("id")
                         desc = col[1].find("p").string
                         precio = float(col[2].find("strong").string)
                         str_medida = col[3].find("p", {"class": "frac"}).string
                         descant = self._extract_medida_cant(desc, str_medida)
                         prod = Producto(id, desc, precio, medida=descant["medida"], cantidad=descant["cantidad"])
                         logging.info("Nuevo Producto: " + str(prod.full_data()))
                         self.productos.append(prod)
     return self.productos
コード例 #12
0
ファイル: Util.py プロジェクト: NataDiazP/PetShop-Python
    def generarDatosFicticios():
        # Metodo para generar los datos ficticios
        u1 = Persona("Prueba", "*****@*****.**", "3089647558",
                     "Avenida siempre viva", "123")
        u2 = Persona("Prueba2", "*****@*****.**", "4541694",
                     "Cerro el volador", "123")

        p1 = Producto("Collar para gato.", 20000,
                      "Un hermoso collar verde para los felinos.", 20)
        p2 = Producto(
            "Correa para perro.", 15000,
            "Perfecta para sacar de paseo a nuestros amigos caninos.", 100)
        p3 = Producto("Alimento para pajaros.", 5400,
                      "Con semillas de girasol.", 5)
        p4 = Producto("Colita de Pinscher.", 1000000, "Recien cortada.", 1)
        p5 = Producto("Mameluco para tortuga.", 55000, "Fashion!.", 50)

        c1 = Comentario("Delicioso alpiste, incluso yo lo consumo.", u1, p3)
        c2 = Comentario("Todo se lo roban las tortolas.", u2, p3)
        c3 = Comentario(
            "Pense que estas cosas solo se vendian en la deep web.", u1, p4)

        ped1 = Pedido(datetime.date.today(), u1, 0, "Pendiente")

        ped_pro1 = Pedido_Producto(5, ped1, p1)
        ped_pro2 = Pedido_Producto(10, ped1, p2)
        ped_pro3 = Pedido_Producto(2, ped1, p3)
        ped_pro4 = Pedido_Producto(1, ped1, p4)
        ped_pro5 = Pedido_Producto(30, ped1, p5)

        ped1.calcularValorTotal()
        ped1.comprar()

        Persona.personas.append(u1)
        Persona.personas.append(u2)

        Producto.productos.append(p1)
        Producto.productos.append(p2)
        Producto.productos.append(p3)
        Producto.productos.append(p4)
        Producto.productos.append(p5)
コード例 #13
0
ファイル: DetalleCarrito.py プロジェクト: fing-UP/dsetrabajo
    def verificarstock(self,idC):
        Cli=Cliente(idCliente=idC).generarListaCarrito()[0][0]

        detalles=Carrito(idCarrito=Cli).generarListaDetalleCarrito()

        veri=1
        for det in detalles:
            pro=Producto(idProducto=det[2])
            pro.obtenerProducto()

            if int(det[3])>int(pro.stock):
                self.idDetalleCarrito=det[0]
                self.obtenerDetalleCarrito()

                self.cantidad=pro.stock
                if(pro.stock==0):
                    self.eliminarDetalleCarrito()
                else:
                    self.actualizarDetalleCarrito()
                veri=0
        return veri
コード例 #14
0
ファイル: comercio.py プロジェクト: fing-UP/dsetrabajo
def EliminarProducto(producto):


    pro=Producto(idProducto=producto)
    pro.obtenerProducto()
    if pro.oComercio.idComercio==session["idCom"]:
        pro.eliminarProducto()
    return redirect(url_for("comercio.ComProductos"))
コード例 #15
0
def main():
    proveedor_a = Proveedor("01", "Mario", "4418", "Av Inform",
                            "*****@*****.**")
    proveedor_b = Proveedor("02", "Mirian", "4418", "Av Inform",
                            "*****@*****.**")
    proveedor_singleton = ProveedorSingleton()
    proveedor_singleton.registrar(proveedor_a)
    proveedor_singleton.registrar(proveedor_b)
    print "Proveedor 01", proveedor_singleton.validar_existencia("02")

    producto_a = Producto("001", "DescripA", 12.0, proveedor_a)
    producto_b = Producto("002", "DescripB", 13.0, proveedor_a)
    producto_singleton = ProductoSingleton()
    producto_singleton.registrar(producto_a)
    producto_singleton.registrar(producto_b)
    print "Producto 001", producto_singleton.validar_existencia("001")

    almacen = Almacen()
    almacen.ingresar("001", 3)
    almacen.ingresar("001", 2)
    almacen.salir("001", 2)

    print "Stock 001: ", almacen.calcular_stock("001")
    print "Costo total: ", almacen.calcular_costo_total()
コード例 #16
0
def iniciando():
    if (request.method == 'POST'):
        nombre = request.form['nombre']
        password = request.form['password']

        U = Cliente(password=password, correo=nombre, nombreusuario=nombre)
        if (U.iniciarSesion() == 1):
            flash("sesion iniciada")

            session['user_name'] = U.nombreUsuario
            session["id"] = U.idCliente
            session["correo"] = U.correo
            try:
                for e in session["Carrito"]:
                    pre = Producto(idProducto=e[0])
                    pre.obtenerProducto()
                    Det = DetalleCarrito(carrito=Carrito(idCarrito=Cliente(
                        idCliente=session["id"]).generarListaCarrito()[0][0]),
                                         cantidad=e[3],
                                         producto=pre)
                    print(4)
                    if (Det.obtenerDetalleCarrito() == 0):
                        print(Det.idDetalleCarrito, 4)
                        Det.agregarDetalleCarrito()
                    else:
                        Det.cantidad = e[3]
                        Det.actualizarDetalleCarrito(var=1)
            except:
                pass
            session["Carrito"] = []

            return redirect(url_for("inicio.index"))

        else:
            flash("datos incorrectos")
            return redirect(url_for("sesiones.iniciar"))
コード例 #17
0
def generarOrden():
    request_json = request.get_json()
    numero_orden = request_json.get('OrderId')
    estado = request_json.get('OrderStatus')
    precio = request_json.get('TotalPrice')
    productos = request_json.get('Products')
    lst_productos = []
    for producto in productos:
        ingredientes = producto['Ingredients']
        lst_ingredientes = []
        for ingrediente in ingredientes:
            i = Ingrediente(
                nombre_ingrediente=ingrediente['Name'],
                cantidad_ingrediente=ingrediente['Amount'],
                unidad_ingrediente=ingrediente['Unit']
            )
            ingrediente_json = json.dumps(i, default=i.ingredienteADiccionario)
            lst_ingredientes.append(ingrediente_json)

        ing_objects = [json.loads(ing) for ing in lst_ingredientes]
        p = Producto(
            producto['Name'],
            producto['Servings'],
            producto['PricePerServing'],
            producto['Image'],
            ing_objects
        )
        producto_json = json.dumps(p, default=p.productoADiccionario)
        lst_productos.append(producto_json)

    orden = Orden(
        numero_orden,
        estado,
        precio,
        lst_productos
    )
    prod_objects = [json.loads(prod) for prod in orden.productos]
    ordenesCollection.insert_one(
        {
            'OrderId': orden.numero_orden,
            'Date': orden.fecha,
            'OrderStatus': orden.estado,
            'TotalPrice': orden.precio,
            'Products': prod_objects
        }
    )
    return 'orden generada'
コード例 #18
0
ファイル: DetalleOrden.py プロジェクト: fing-UP/dsetrabajo
 def obtenerDetalleOrden(self):
     database = sqlite3.connect("linioexp_parcial_lab3.db")
     try:
         cursor = database.cursor()
         query = '''
                 SELECT * from detalleOrden 
                 WHERE idDetalleOrden = '{}' 
                 '''.format(self.__idDetalleOrden)
         cursor.execute(query)
         lista = cursor.fetchoall()[0]
         self.oOrden = Orden(lista[1]).obtenerOrden()
         self.oProducto = Producto(lista[2]).obtenerProducto()
         self.__cantidad = lista[3]
         self.__subtotal = lista[4]
     except Exception as e:
         print("Error: {}".format(e))
     finally:
         database.close()
コード例 #19
0
ファイル: comercio.py プロジェクト: fing-UP/dsetrabajo
def ComProductos(name=None,page=None,cate=None,precio=None,orden=None):
    if name != None and cate!=None:
        url='/Comercio/productos={}/{}/'.format(name,cate)
        if precio=="N-N" or precio==None:
            bajo=-1
            alto=10000000
        else:
            precio=precio.split("-")
            bajo=int(precio[0])
            alto=int(precio[1])
        alf="asc" if orden == "a-z" else "desc" if orden=="z-a" else None
        pre="asc" if orden == "asc" else "desc" if orden=="desc" else None


        print(name)
        if (cate == "todo"):
            listas = Producto().buscarProducto(Palabra=name, num=page,bajo=bajo,alto=alto,alf=alf,pre=pre)

        else:
            listas = Producto().buscarProducto(Palabra=name, num=page, categoria=[cate],bajo=bajo,alto=alto,alf=alf,pre=pre)

        for e in range(len(listas)):
            listas[e] += Producto(idProducto=listas[e][0]).CantidadVendidos()

            print(listas[e])
        return render_template("ProductosC.html", lista=listas,url=url)
    else:
        url = '/Comercio/productos/'
        if precio is None and orden is None:
            page= 1 if page is None else page

            listas = (Producto().buscarProducto(comercio=session["idCom"], Palabra="",num=page))

        else:
            if precio == "N-N" or precio == None:
                bajo = -1
                alto = 10000000
            else:
                precio = precio.split("-")
                bajo = int(precio[0])
                alto = int(precio[1])
            alf = "asc" if orden == "a-z" else "desc" if orden == "z-a" else None
            pre = "asc" if orden == "asc" else "desc" if orden == "desc" else None
            listas = (Producto().buscarProducto(comercio=session["idCom"], Palabra="", num=page,bajo=bajo,alto=alto,alf=alf,pre=pre))
        for e in range(len(listas)):
            listas[e] += Producto(idProducto=listas[e][0]).CantidadVendidos()

            print(listas[e])


        return render_template('ProductosC.html', lista=listas,url=url)
コード例 #20
0
ファイル: app.py プロジェクト: WillianUG/Crud-python
from flask import Flask, jsonify, request, make_response
from flask_restful import Resource, Api, reqparse
from sqlalchemy import create_engine
from json import dumps
from Usuario import Usuario
from Producto import Producto
user = Usuario()
producto = Producto()
app = Flask(__name__)


@app.route('/', methods=['GET'])
def listar():
    return jsonify({'mensaje': 'Bienvenidos a Flask'})

#-----------------------metodos para usuario--------------------------#
@app.route('/usuario/listar', methods=['GET'])
def users():
    try:
        rows = user.readAll()
        respuesta = jsonify(rows)
        respuesta.status_code = 200
        return respuesta
    except Exception as e:
        print(e)


@app.route('/usuario/buscar/<int:id>')
def buscarusuario(id):
	try:
		user.idusuario = id
コード例 #21
0
##    Nombre: Producto 1
##    Precio: 5
##    Descuento: Fijo 10
## ---------------------------------
## p2:
##    Codigo: 2
##    Nombre: Producto 2
##    Precio: 10
##    Descuento: Porcentaje 40%
## ---------------------------------
## p3:
##    Codigo: 3
##    Nombre: Producto 3
##    Precio: 20
## ---------------------------------
p1 = Producto(1, 'Producto 1', 5, desc1)
p2 = Producto(2, 'Producto 2', 10, desc2)
p3 = Producto(3, 'Producto 3', 20)

pedido = Pedido()

try:

    pedido.aniadir_producto(p1, 3)  ## 3 unidades del producto 1
    pedido.aniadir_producto(p2, 5)  ## 5 unidades del producto 2
    pedido.aniadir_producto(p1, 5)  ## 5 unidades del producto 1
    pedido.aniadir_producto(p3, 2)  ## 2 unidades del producto 3

    print('Total pedido: ', str(pedido.total_pedido()))

    pedido.mostrar_productos()
コード例 #22
0
from Producto import Producto


producto1 = Producto("Teclado", 41)
print(producto1)
producto2 = Producto("Raton", 14)
print(producto2)
コード例 #23
0
 def __init__(self, nombre, clasificacion, precio, tamaño):
     Producto.__init__(self, nombre, clasificacion, precio)
     self.tamaño = tamaño
コード例 #24
0
 def __init__(self, nombre, clasificacion, precio, cantidad, productos):
     Producto.__init__(self, nombre, clasificacion, precio)
     self.cantidad = cantidad
     self.productos = productos
コード例 #25
0
                condN3 = condN3_old

            if (buscarProductos):
                #Rutina de búsqueda de productos
                print(
                    "=================================================================="
                )
                print('Productos N1{} N2{} N3{}: '.format(
                    catNivel1, catNivel2, catNivel3))
                print(
                    "=================================================================="
                )
                productos = Producto(drv_webdriver=driver,
                                     ruta_datos=directorio_datos,
                                     ruta_imagenes=directorio_imagenes,
                                     f_prod_csv=f_prod_csv,
                                     f_histprecios_csv=f_hstprec_csv,
                                     f_ingredientes=f_ingredientes_csv,
                                     f_nutricional=f_nutricional_csv)
                print(
                    productos.obtener_productos_web(
                        df_categorias_buscar=categorias.df_cat_csv,
                        genera_historico_precios=True,
                        N1=catNivel1,
                        N2=catNivel2,
                        N3=catNivel3))
                #Grabamos la actualizacion de categorías
                categorias.grabar_categorias(omitir_carga_csv=True)

                #Grabamos los datos de productos obtenidos
                productos.grabar_productos()
コード例 #26
0
ファイル: Orden.py プロジェクト: ViktorShev/Learning-Python
        cls.contador_ordenes += 1
        return cls.contador_ordenes

    def __init__(self, *productos):
        self._id_orden = Orden.generar_id_orden()
        self._productos = list(productos)

    def agregar_producto(self, *productos):
        self._productos.extend(productos)

    def calcular_total(self):
        total = 0
        for producto in self._productos:
            total += producto.precio

        print(f'Total de la Orden #{self._id_orden}: {total}$')

    def __str__(self):
        productos_str = ''
        for producto in self._productos:
            productos_str += producto.__str__() + '\n'
        return f'Orden #{self._id_orden}: \nProductos: {productos_str}'


if __name__ == '__main__':
    camisa = Producto('Camisa', 100.00)
    pantalon = Producto('Pantalon', 150.00)
    orden1 = Orden([camisa, pantalon])
    orden2 = Orden(pantalon)
    print(orden1)
    print(orden2)
コード例 #27
0
    def agregar_producto(self, producto):
        # Se agrega objeto de tipo producto a lista
        self._productos.append(producto)

    # Revisar encapsulados
    def calcular_total(self):
        total = 0
        for producto in self._productos:
            total += producto.precio
        return total

    def __str__(self):
        productos_str = ''
        for producto in self._productos:
            productos_str += producto.__str__() + ' | '
        return f'Orden: {self._id_orden}, \nProductos: {productos_str}'


#####################################################

if __name__ == '__main__':
    producto1 = Producto('Disco Duro', 200000)
    producto2 = Producto('CPU', 500000)
    producto3 = Producto('RAM', 420000)
    productos1 = [producto1, producto2, producto3]
    orden1 = Orden(productos1)
    print(orden1)
    productos2 = [producto1, producto2]
    orden2 = Orden(productos2)
    print(orden2)
コード例 #28
0
ファイル: main.py プロジェクト: silvioscocci/SilvioScocci
def getProducts():
    with open('productos.txt', 'r') as archivo:
        for line in archivo:
            row = line.split(';')
            products.append(Producto(row[0],row[1],row[2],row[3],row[4],row[5].split('\n')[0]))
            codes.append(row[0])
コード例 #29
0
ファイル: main.py プロジェクト: silvioscocci/SilvioScocci
    
    #valido que el codigo no este usado ya
    if (codigo in codes):
        clear()
        print("XXXXXX El codigo de producto ya esta en uso XXXXXX\n\n")
        input()
        crear_producto()
    #Valido que no esten vacios algunos campos
    elif (codigo == '') or (nombre == '') or (desc == '') or (categoria == ''):
        clear()
        print("XXXXXX Algun dato esta vacio completelo por favor XXXXXX\n\n")
        input()
        crear_producto()
    else:
        #Guardo el producto
        newProduct = Producto(codigo,nombre,desc,categoria,precio,cantidad)
        newProduct.write()
        products.append(newProduct)
        clear()
        print("--------------Producto creado correctamente------------------\n\n")
        input("Presione cualquier tecla para volver...")

#Editar producto
def editar_producto():
    clear()
    print("--------------Introduzca el codigo del producto a editar------------------\n\n")
    codigo = input("Codigo: ")
    #Verifico que exista el codigo al que quieren modificar
    if not codigo in codes:
        clear()
        print("XXXXXX El codigo no corresponde con ninguno, vuelva a intentar XXXXXX\n\n")
コード例 #30
0
ファイル: DetalleCarrito.py プロジェクト: fing-UP/dsetrabajo
class DetalleCarrito(object):
    def __init__(self,idDetallecarrito:str=None, carrito:Carrito=None, producto:Producto=None, cantidad: int = None, subtotal: float = None):
        self.__idDetalleCarrito=idDetallecarrito if(idDetallecarrito is not None) else self.generarIdDetalleCarrito()
        self.oCarrito=carrito
        self.oProducto =producto

        self.__cantidad = cantidad
        self.__subtotal = subtotal if(subtotal is not None) else self.calcularSubTotal()
        
    #Atributos
    @property
    def idDetalleCarrito(self):
        return self.__idDetalleCarrito
    @idDetalleCarrito.setter
    def idDetalleCarrito(self, new_idDetallecarrito: str):
        self.__idDetalleCarrito = new_idDetallecarrito
    @property
    def carrito(self):
        return self.oCarrito
    @carrito.setter
    def carrito(self, new_carrito: carrito):
        self.oCarrito = new_carrito
    @property
    def producto(self):
        return self.oProducto
    @producto.setter
    def producto(self, new_producto:Producto):
        self.oProducto = new_producto
    @property
    def cantidad(self):
        return self.__cantidad
    @cantidad.setter
    def cantidad(self, new_cantidad: str):
        self.__cantidad = new_cantidad
    @property
    def subtotal(self):
        return self.__subtotal
    @subtotal.setter
    def subtotal(self, new_subtotal: str):
        self.__subtotal = new_subtotal
    
    #Metodos Estandar
    def generarIdDetalleCarrito(self) -> str:
        count = 0
        database = sqlite3.connect("linioexp_parcial_lab3.db")  # ABRIR CONEXION CON BASE DE DATOS
        try:
            cursor = database.cursor()  # OBTENER OBJETO CURSOR
            query = '''
            SELECT * FROM detalleCarrito'''
            cursor.execute(query)
            count = int(cursor.fetchall()[-1][0][4:9])
        except Exception as e:
            print("Error: {}".format(e))
        finally:
            database.close()  # CERRAR CONEXION CON BASE DE DATOS

        return "DETC" + "0"*(4 - len(str(count+1))) + str(count + 1)
    def agregarDetalleCarrito(self):
        database = sqlite3.connect("linioexp_parcial_lab3.db")
        try:


            cursor = database.cursor()  
           
            query = '''
                        INSERT INTO detalleCarrito(idDetalleCarrito,idProducto,idCarrito,cantidad,subtotal) VALUES('{}','{}','{}','{}','{}')
                    '''.format(self.__idDetalleCarrito ,self.oProducto.idProducto,self.oCarrito.idCarrito,self.__cantidad,self.__subtotal)
            cursor.execute(query)

            database.commit()
        except Exception as e:
            print("Error: {}".format(e))
        finally:
            database.close() 
    def actualizarDetalleCarrito(self,var=None):
        database = sqlite3.connect("linioexp_parcial_lab3.db")  
        try:
            if(var==1):
                try:
                    cursor = database.cursor()
                    query = '''
                                   SELECT * from detalleCarrito 
                                   WHERE (idProducto='{}' and idCarrito='{}') 
                                   '''.format( self.oProducto.idProducto,
                                              self.oCarrito.idCarrito)

                    cursor.execute(query)
                    lista = cursor.fetchall()[0]
                    self.__idDetalleCarrito=lista[0]
                    self.__cantidad+=lista[3]
                    self.__subtotal=self.calcularSubTotal()

                except:
                    pass
            cursor = database.cursor()
            query = '''
                    UPDATE  detalleCarrito
                    SET idCarrito="{}", idProducto="{}", cantidad="{}", subtotal="{}"
                    WHERE idDetalleCarrito = '{}' 
                    '''.format(self.oCarrito.idCarrito,self.oProducto.idProducto,self.__cantidad,self.__subtotal,self.__idDetalleCarrito)
            cursor.execute(query)
            database.commit()
            
        except Exception as e:
            print("Error: {}".format(e))
        finally:
            database.close() 
    def eliminarDetalleCarrito(self):
        database = sqlite3.connect("linioexp_parcial_lab3.db")  # ABRIR CONEXION CON BASE DE DATOS

        try:
            cursor = database.cursor()  # OBTENER OBJETO CURSOR
            query = '''DELETE FROM detalleCarrito where idDetalleCarrito= '{}'
                    '''.format(self.__idDetalleCarrito)
            cursor.execute(query)
            database.commit()
            
        except Exception as e:
            print("Error: {}".format(e))
            
        finally:
            database.close()
    def obtenerDetalleCarrito(self):
        database = sqlite3.connect("linioexp_parcial_lab3.db")
        texto=0
        try:
            if (self.oCarrito== None):
                idpro="1"
                idcar="1"
            else:
                idpro=self.oProducto.idProducto
                idcar=self.oCarrito.idCarrito

            cursor = database.cursor()
            query = '''
                    SELECT * from detalleCarrito 
                    WHERE idDetalleCarrito = '{}' or (idProducto='{}' and idCarrito='{}') 
                    '''.format(self.__idDetalleCarrito,idpro,idcar)
            cursor.execute(query)
            lista = cursor.fetchall()[0]
            texto= 0 if idpro != lista[2] else 1
            self.__idDetalleCarrito=self.__idDetalleCarrito

            self.oProducto= Producto(idProducto=lista[2])

            self.oProducto.obtenerProducto()
            self.oCarrito= Carrito(idCarrito=lista[1])
            self.oCarrito.obtenerCarrito()
            self.__cantidad=lista[3]
            self.__subtotal=lista[4]

           
        except Exception as e:
            print("Error: {}".format(e))
        finally:
            database.close()
            return texto
            
    #Metodos de la clase
    def calcularSubTotal(self):
        try:

            return float(self.oProducto.precio_venta) * int(self.__cantidad)
        except:
            return None
    def aumentarCantidad(self,num):
        self.__cantidad+=num
        self.actualizarDetalleCarrito()
    def disminuirCantidad(self,num):
        if(self.__cantidad>=num):
            self.__cantidad-=num
            self.actualizarDetalleCarrito()
        else:
            print("Error: No hay suficiente stock para disminuir")
    
    def verificarstock(self,idC):
        Cli=Cliente(idCliente=idC).generarListaCarrito()[0][0]

        detalles=Carrito(idCarrito=Cli).generarListaDetalleCarrito()

        veri=1
        for det in detalles:
            pro=Producto(idProducto=det[2])
            pro.obtenerProducto()

            if int(det[3])>int(pro.stock):
                self.idDetalleCarrito=det[0]
                self.obtenerDetalleCarrito()

                self.cantidad=pro.stock
                if(pro.stock==0):
                    self.eliminarDetalleCarrito()
                else:
                    self.actualizarDetalleCarrito()
                veri=0
        return veri
コード例 #31
0
                while company not in company2.companyList:
                    print("No coincide con ninguna empresa, vuelve a intentar")
                    company = input(
                        "Ingrese nombre de la compañia disponible ").upper()

                if company in company2.companyList:
                    print("Excelente")
                    break

            cliente.insertCliente(nombreCliente, rfcCliente, direccionCliente,
                                  company)
            input("Presiona enter para continuar")

    elif opcionMenu == "3":

        product = Producto()

        nombreProducto = input("Ingrese nombre de producto: ")
        precioProducto = input("Ingrese precio de producto: ")
        product.insertarProducto(nombreProducto, precioProducto)
        input("Presione enter para continuar")

    elif opcionMenu == "4":

        compra = Compra()
        cliente = Cliente()
        cliente.fetchClientes()
        producto = Producto()
        producto.fetchProduct()

        if len(cliente.clienteList) == 0 or len(producto.productosList) == 0: