Beispiel #1
0
        public void AgregarItem(Producto_X_Venta nuevo)
        {
            SqlConnection conexion = new SqlConnection();
            SqlCommand    comando  = new SqlCommand();



            try
            {
                conexion.ConnectionString = "data source= DESKTOP-GTFEEVH; initial catalog=MARCATI_DB; integrated security=sspi";
                comando.CommandType       = System.Data.CommandType.StoredProcedure;
                comando.CommandText       = "spAltaProducto_X_Venta";
                comando.Parameters.AddWithValue("@ID_Producto", nuevo.producto.ID);
                comando.Parameters.AddWithValue("@ID_Venta", nuevo.venta.ID);
                comando.Parameters.AddWithValue("@Cantidad", nuevo.Cantidad);
                comando.Parameters.AddWithValue("@Precio", nuevo.Precio);


                comando.Connection = conexion;

                conexion.Open();
                comando.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Close();
            }
        }
Beispiel #2
0
        public List <Producto_X_Venta> ListarProductoVenta()
        {
            List <Producto_X_Venta> listado  = new List <Producto_X_Venta>();
            SqlConnection           conexion = new SqlConnection();
            SqlCommand    comando            = new SqlCommand();
            SqlDataReader lector;

            try
            {
                conexion.ConnectionString = "data source= DESKTOP-GTFEEVH; initial catalog=MARCATI_DB; integrated security=sspi";
                comando.CommandType       = System.Data.CommandType.Text;
                comando.CommandText       = "Select PXV.ID_Venta as idVenta,PXV.ID_Producto as idProducto, P.Nombre as Producto, PXV.Cantidad From Producto_X_Venta AS PXV Inner Join Productos AS P ON P.ID = PXV.ID_Producto";
                comando.Connection        = conexion;
                conexion.Open();
                lector = comando.ExecuteReader();
                while (lector.Read())
                {
                    Producto_X_Venta aux = new Producto_X_Venta();
                    if (!Convert.IsDBNull(lector["idVenta"]))
                    {
                        aux.venta    = new Venta();
                        aux.venta.ID = (Int64)lector["idVenta"];
                    }

                    if (!Convert.IsDBNull(lector["idProducto"]))
                    {
                        aux.producto        = new Producto();
                        aux.producto.ID     = (Int64)lector["idProducto"];
                        aux.producto.Nombre = (string)lector["Producto"];
                    }

                    aux.Cantidad = lector.GetInt64(3);

                    listado.Add(aux);
                }

                return(listado);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Close();
            }
        }
Beispiel #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!IsPostBack)
                {
                    bandera = false;
                }

                carrito.listaItem = (List <ItemCarrito>)Session[Session.SessionID + "listaCarrito"];
                if (carrito.listaItem == null)
                {
                    carrito.listaItem = new List <ItemCarrito>();
                }

                var prodQuitar = Request.QueryString["idQuitar"];
                if (prodQuitar != null)
                {
                    ItemCarrito productoQuitar = carrito.listaItem.Find(J => J.Producto.ID == int.Parse(prodQuitar));

                    carrito.listaItem.Remove(productoQuitar);

                    Session[Session.SessionID + "listaCarrito"] = carrito.listaItem;
                    Response.Redirect("Carrito.aspx", false);
                }
                else if (Request.QueryString["idprod"] != null)
                {
                    //obtengo lista original (el listado completo)
                    List <Producto> listaOriginal = (List <Producto>)Session[Session.SessionID + "listaProducto"];

                    var      prodSeleccionado = Convert.ToInt32(Request.QueryString["idprod"]);
                    Producto producto         = listaOriginal.Find(J => J.ID == prodSeleccionado);

                    ItemCarrito auxCarrito = carrito.listaItem.Find(B => B.Producto.ID == producto.ID);

                    if (auxCarrito == null)
                    {
                        CarritoItem.Producto = producto;

                        CarritoItem.Cantidad++;

                        carrito.Total += CarritoItem.Producto.Precio;
                        carrito.listaItem.Add(CarritoItem);
                        Session[Session.SessionID + "listaCarrito"] = carrito.listaItem;
                    }
                    Response.Redirect("Carrito.aspx", false);
                }

                var CantRest = Request.QueryString["idCantRest"];
                if (CantRest != null)
                {
                    if (!bandera)
                    {
                    }

                    ItemCarrito productoRestar = carrito.listaItem.Find(J => J.Producto.ID == int.Parse(CantRest));

                    if (productoRestar.Cantidad != 0 && productoRestar.Cantidad != 1)
                    {
                        productoRestar.Cantidad--;
                    }
                    else
                    {
                    }

                    Session[Session.SessionID + "listaCarrito"] = carrito.listaItem;
                    Response.Redirect("Carrito.aspx", false);
                }

                var CantSum = Request.QueryString["idCantSum"];
                if (CantSum != null)
                {
                    ItemCarrito productoSumar = carrito.listaItem.Find(J => J.Producto.ID == int.Parse(CantSum));

                    if (productoSumar.Cantidad == productoSumar.Producto.Stock || productoSumar.Cantidad > productoSumar.Producto.Stock)
                    {
                    }
                    else
                    {
                        productoSumar.Cantidad++;
                    }

                    Session[Session.SessionID + "listaCarrito"] = carrito.listaItem;
                    Response.Redirect("Carrito.aspx", false);
                }

                var idCarrito = Request.QueryString["idComprar"];
                if (idCarrito != null)
                {
                    Usuario usuario = (Usuario)Session["usersession"];


                    if ((List <ItemCarrito>)Session[Session.SessionID + "listaCarrito"] == null)
                    {
                        Session["Error" + Session.SessionID] = "Error al realizar la compra.";
                        Response.Redirect("Error.aspx", false);
                    }
                    else if (usuario == null)
                    {
                        Response.Redirect("Login.aspx", false);
                    }
                    else
                    {
                        carrito.listaItem = (List <ItemCarrito>)Session[Session.SessionID + "listaCarrito"];

                        Producto_X_Venta productoXventa = new Producto_X_Venta();
                        List <Venta>     listaVenta     = new List <Venta>();
                        Producto         producto       = new Producto();


                        Venta    venta    = new Venta();
                        DateTime fechaHoy = DateTime.Now;


                        //decimal subtotal = 0;

                        //foreach (var item in listaItem)
                        //{
                        //    subtotal += item.PrecioItem();
                        //}
                        //Total = subtotal;

                        decimal total = carrito.SubTotal();
                        venta.usuario     = usuario;
                        venta.PrecioTotal = total;
                        venta.Fecha       = fechaHoy;
                        negocioVenta.Agregar(venta);

                        VentasNegocio negocioVentas = new VentasNegocio();
                        listaVenta = negocioVentas.Listar();

                        Int64 idVenta = 0;

                        foreach (var item in listaVenta)
                        {
                            if (item.usuario.ID_Usuario == usuario.ID_Usuario)
                            {
                                idVenta = item.ID;
                            }
                        }
                        venta.ID = idVenta;
                        foreach (var itemCarrito in carrito.listaItem)
                        {
                            productoXventa.venta    = venta;
                            productoXventa.producto = itemCarrito.Producto;
                            productoXventa.Cantidad = itemCarrito.Cantidad;
                            //productoXventa.Precio = itemCarrito.PrecioItem();
                            productoXventa.Precio = itemCarrito.Producto.Precio;

                            producto.ID    = itemCarrito.Producto.ID;
                            producto.Stock = itemCarrito.Producto.Stock - itemCarrito.Cantidad;

                            negocioProducto.ModificarStock(producto);
                            negocioVenta.AgregarItem(productoXventa);
                        }



                        Response.Redirect("CompraFinalizada.aspx", false);
                    }

                    //else
                    //{
                    //    Session["Error" + Session.SessionID] = "Error al realizar la compra.";
                    //    Response.Redirect("Error.aspx", false);
                    //}


                    //foreach (var item in listaCarrito)
                    //{
                    //    foreach (var item2 in item.listaItem)
                    //    {
                    //        item2.

                    //        negocioVenta.AgregarItem(item2);
                    //    }

                    //}
                }
            }
            catch (Exception ex)
            {
                Session["Error" + Session.SessionID] = "Error en el carrito.";
                //Session["Error" + Session.SessionID] = ex;
                Response.Redirect("Error.aspx");
            }
        }