Beispiel #1
0
    private bool checkStock(int qty)
    {
        //validamos si carro de compras esta vacio
        if (Session["mycart"] != null)
        {
            ArrayList arr = (ArrayList)Session["mycart"];
            //For para barrer carrito si existe producto,
            //pregunte por cantidad + lo que ya existe en cantidad del carrito
            for (int i = 0; i < arr.Count; i++)
            {
                if (((ItemCart)arr[i]).Pid == pid && ((ItemCart)arr[i]).Cid == cid)
                {
                    qty = qty + ((ItemCart)arr[i]).Cantidad;
                }
            }
        }
        //true si es que hay stock disponible
        bool       resp = true;
        ProductoBD pBD  = new ProductoBD();
        Producto   prod = pBD.Consultar(pid, cid, prov);

        //si la cantidad es mayor al stock disponoble, return false
        if (qty > prod.Stock)
        {
            resp = false;
        }
        return(resp);
    }
    private void ActualizaStock()
    {
        foreach (GridViewRow gvd in gvDetalle.Rows)
        {
            //instanciamos productoBD para acceder a sus metodos
            ProductoBD pBD = new ProductoBD();

            //vector codigo que toma el productoid y codigoid combinado
            //funcion split para posteriormente guardar en variables int
            string[] codigo = gvd.Cells[0].Text.ToString().Split('C');
            string[] codigo2 = codigo[1].Split('V');
            int      gpid, gcid, gprov;
            //variable para evaluar el arreglo carrito
            gpid  = Convert.ToInt32(codigo[0].Substring(1));
            gcid  = Convert.ToInt32(codigo2[0]);
            gprov = Convert.ToInt32(codigo2[1]);
            //consultamos stock del producto para luego actualizar
            Producto prod  = pBD.Consultar(gpid, gcid, gprov);
            int      stock = prod.Stock;
            //tomamos la cantidad que el cliente desea comprar para luego restar y actulizar producto
            int cantidad = int.Parse(gvd.Cells[2].Text.ToString());
            int newstock = stock - cantidad;
            //actualizamos stock en la base a cada producto
            pBD.ActualizaStock(gpid, gcid, gprov, newstock);
        }
    }
    private void llenarProductos(int cateid)
    {
        ProductoBD      prodBD  = new ProductoBD();
        List <Producto> lstProd = prodBD.Consultar(cateid);

        this.gvProducto.DataSource = lstProd;
        gvProducto.DataBind();
    }
 protected void lknActualizar_Click(object sender, EventArgs e)
 {
     if (Session["mycart"] != null)
     {
         ProductoBD pBD = new ProductoBD();
         //foreach para recorrer el grid por filas
         foreach (GridViewRow dgc in gvCart.Rows)
         {
             //vector codigo que toma el productoid y codigoid combinado
             //funcion split para posteriormente guardar en variables int
             string[] codigo = dgc.Cells[1].Text.ToString().Split('C');
             string[] codigo2 = codigo[1].Split('V');
             int      gpid, gcid, gprov;
             //variable para evaluar el arreglo carrito
             gpid  = Convert.ToInt32(codigo[0].Substring(1));
             gcid  = Convert.ToInt32(codigo2[0]);
             gprov = Convert.ToInt32(codigo2[1]);
             //llenado en variable de nueva cantidad especificada por el usuario
             TextBox t = (TextBox)dgc.Cells[3].Controls[1];
             //valida que el textbox cantidad no este vacio y no sea cero
             if (t.Text != "" && int.Parse(t.Text) != 0)
             {
                 int newqty = int.Parse(t.Text);
                 //instancia de arreglo de carrito de compras
                 ArrayList arr = (ArrayList)Session["mycart"];
                 //For para barrer el arreglo y obtener calculos actualizando el carrito
                 for (int i = 0; i < arr.Count; i++)
                 {
                     if (((ItemCart)arr[i]).Pid == gpid && ((ItemCart)arr[i]).Cid == gcid && ((ItemCart)arr[i]).Prov == gprov)
                     {
                         Producto prod = pBD.Consultar(gcid, gcid, gprov);
                         //valida stock
                         if (newqty > prod.Stock)
                         {
                             ((ItemCart)arr[i]).MsgStock = "No tenemos suficiente stock para su pedido";
                         }
                         else
                         {
                             ((ItemCart)arr[i]).MsgStock = "";
                             //actualiza la cantidad con la nueva especificada por el usuario
                             ((ItemCart)arr[i]).Cantidad = newqty;
                             //actualiza subtotal
                             ((ItemCart)arr[i]).SubTotal = ((ItemCart)arr[i]).PrecioUni * ((ItemCart)arr[i]).Cantidad;
                         }
                     }
                 }
             }
         }
         //llenado del gvcart
         llenarGrid();
         Response.Redirect("swvmicart05.aspx");
     }
     else
     {
         Response.Redirect("swvmicart05.aspx");
     }
 }
    private int lastId()
    {
        //encuentra el ultimo id traido desde la lista segun categoria y le suma 1 para futura incersion
        int             lastid  = 0;
        ProductoBD      prodBD  = new ProductoBD();
        List <Producto> lstProd = prodBD.Consultar(int.Parse(ddlGcateid.SelectedValue.ToString()));

        lastid = lstProd[lstProd.Count - 1].Proid + 1;
        return(lastid);
    }
    private Producto getDatos()
    {
        //getParametros();
        //instanciamos productobd para accedere a sus metodos
        ProductoBD productobd = new ProductoBD();
        //instanciamos producto para recibir datos
        Producto producto = new Producto();

        producto = productobd.Consultar(pid, cid, prov);
        return(producto);
    }
Beispiel #7
0
    private void loadDetalle()
    {
        //instanciamos funciones para utilizar las Mayusculas
        Funciones funciones = new Funciones();

        loadParametros();
        //instanciamos productobd para accedere a sus metodos
        ProductoBD productobd = new ProductoBD();
        //instanciamos producto para recibir datos
        Producto producto = new Producto();

        producto = productobd.Consultar(pid, cid, prov);

        this.lblNombre.Text       = funciones.Mayus(producto.Nombre);
        this.lblPrecio.Text       = producto.Precio.ToString().Substring(0, (producto.Precio.ToString().Length) - 2);
        this.lblSize.Text         = producto.Size;
        this.lblStock.Text        = producto.Stock.ToString();
        this.lblDetalle.Text      = producto.Descripcion;
        this.lblProveedor.Text    = funciones.Mayus(nameProv(producto.Provid));
        this.imgProducto.ImageUrl = "images/" + rutaimg + "/big" + producto.Image;
    }