예제 #1
0
 static Carrito()
 {
     carrito            = new Dominio.Carrito();
     carrito.Articulos  = new List <Articulo>();
     carrito.DatosEnvio = new DatosEnvio();
     carrito.Monto      = 0;
 }
예제 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                listaCarrito = (List <Dominio.Carrito>)Session[Session.SessionID + "listaCarrito"];
                if (listaCarrito == null)
                {
                    listaCarrito = new List <Dominio.Carrito>();
                }

                var artQuitar = Request.QueryString["idQuitar"];
                if (artQuitar != null)
                {
                    Dominio.Carrito articuloQuitar = listaCarrito.Find(J => J.articulo.ID == int.Parse(artQuitar));

                    listaCarrito.Remove(articuloQuitar);

                    Session[Session.SessionID + "listaCarrito"] = listaCarrito;

                    foreach (var item in listaCarrito)
                    {
                        PrecioTotal = item.articulo.Precio - PrecioTotal;
                    }
                }
                else if (Request.QueryString["idart"] != null)
                {
                    //obtengo lista original (el listado completo)
                    List <Articulo> listaOriginal = (List <Articulo>)Session[Session.SessionID + "listaArticulo"];


                    var      artSeleccionado = Convert.ToInt32(Request.QueryString["idart"]);
                    Articulo articulo        = listaOriginal.Find(J => J.ID == artSeleccionado);

                    Dominio.Carrito auxCarrito = listaCarrito.Find(B => B.articulo.ID == articulo.ID);

                    if (auxCarrito == null)
                    {
                        foreach (var item in listaCarrito)
                        {
                            PrecioTotal += item.articulo.Precio;
                        }


                        carrito.articulo = articulo;
                        carrito.Cantidad++;
                        PrecioTotal += carrito.articulo.Precio;
                        listaCarrito.Add(carrito);
                        Session[Session.SessionID + "listaCarrito"] = listaCarrito;
                    }
                }
            }
            catch (Exception)
            {
                Session["Error" + Session.SessionID] = "Error en el carrito";
                Response.Redirect("Error.aspx");
            }
        }
 public void VerificarCarrito()
 {
     if (Session["Carrito" + Session.SessionID] != null)
     {
         Carrito = (Dominio.Carrito)Session["Carrito" + Session.SessionID];
     }
     else
     {
         Carrito = new Dominio.Carrito();
     }
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            ArticuloNegocio negocio = new ArticuloNegocio();
            List <Articulo> listaAux;

            Dominio.Carrito carrito = new Dominio.Carrito();

            try
            {
                listaAux = negocio.listar();

                if (Session["listaCarrito"] == null)
                {
                    listaCarrito = new List <Articulo>();
                    Session.Add("listaCarrito", listaCarrito);
                }

                if (Request.QueryString["idArticulo"] != null)
                {
                    int idAux = Convert.ToInt32(Request.QueryString["idArticulo"]);
                    listaCarrito = (List <Articulo>)Session["listaCarrito"];
                    listaCarrito.Add(listaAux.Find(i => i.Id == idAux));
                    Session["listaCarrito"] = listaCarrito;
                }

                listaCarrito     = (List <Articulo>)Session["listaCarrito"];
                lblTotal.Text    = carrito.MontoTotal.ToString();
                lblCantidad.Text = carrito.CantidadArticulos.ToString();

                if (listaCarrito != null)
                {
                    foreach (var articulo in listaCarrito)
                    {
                        carrito.MontoTotal += articulo.Precio;
                    }
                    lblTotal.Text = carrito.MontoTotal.ToString();
                    List <Articulo> listaArtCarrito = new List <Articulo>();
                    listaArtCarrito          = (List <Articulo>)Session["listaCarrito"];
                    Session["cantArticulos"] = listaArtCarrito.Count();
                    lblCantidad.Text         = Session["cantArticulos"].ToString();
                }

                else
                {
                    listaCarrito = new List <Articulo>();
                }
            }
            catch (Exception ex)
            {
                Session.Add("errorDetectado", ex.ToString());
                Response.Redirect("Error.aspx");
            }
        }
예제 #5
0
 protected void Page_Load(object sender, EventArgs e)
 {
     Session.Timeout  = 60;
     Carrito          = new Dominio.Carrito();
     HayUsuarioActivo = ExisteUsuario();
     Negocio          = new NegocioDatos();
     CargarArticulos(Negocio);
     CargarMarcas(Negocio);
     CargarCategorias(Negocio);
     AnalizarFiltros();
     CargarAlCarrito();
 }
예제 #6
0
 public void CargarAlCarrito()
 {
     try
     {
         if (Session["Carrito" + Session.SessionID] != null)
         {
             Carrito = (Dominio.Carrito)Session["Carrito" + Session.SessionID];
         }
         string ID_Articulo = Request.QueryString["idArt"];
         string Cantidad    = Request.QueryString["cant"];
         if (ID_Articulo != null)
         {
             foreach (Articulo articulo in ListaArticulos)
             {
                 if (articulo.ID_Articulo == Convert.ToInt32(ID_Articulo))
                 {
                     if (Cantidad != null)
                     {
                         if (ConteoTotal(articulo, Carrito))
                         {
                             Carrito.AgregarArticulo(articulo, Convert.ToInt32(Cantidad));
                             lblError.Visible = false;
                         }
                         else
                         {
                             lblError.Visible = true;
                         }
                     }
                     else
                     {
                         if (ConteoTotal(articulo, Carrito))
                         {
                             Carrito.AgregarArticulo(articulo, 1);
                             lblError.Visible = false;
                         }
                         else
                         {
                             lblError.Visible = true;
                         }
                     }
                     break;
                 }
             }
         }
         Session["Carrito" + Session.SessionID] = Carrito;
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public void VerificarCarrito()
 {
     if (Session["Carrito" + Session.SessionID] != null)
     {
         MiCarrito = (Dominio.Carrito)Session["Carrito" + Session.SessionID];
     }
     else
     {
         MiCarrito = new Dominio.Carrito();
     }
     if (MiCarrito.ListaElementos.Count == 0)
     {
         Response.Redirect("Carrito.aspx");
     }
 }
예제 #8
0
        public bool ConteoTotal(Articulo articulo, Dominio.Carrito MiCarrito)
        {
            int conteoStock = articulo.Stock;

            foreach (ElementoCarrito elemento in MiCarrito.ListaElementos)
            {
                if (elemento.Articulo.ID_Articulo == articulo.ID_Articulo)
                {
                    conteoStock -= elemento.Cantidad;
                }
            }
            if (conteoStock <= 0)
            {
                return(false);
            }
            return(true);
        }
예제 #9
0
 public CarritoNegocio()
 {
     carrito = new Dominio.Carrito();
     //carrito.listaArticulos = new List<Dominio.Articulos>;
 }