public static void QuitarProductoCarrito(string descripcion)
        {
            ArticuloCompra auxArt = compraEnCurso.Productos.Find(x => x.Producto.Equals(descripcion));

            compraEnCurso.Productos.Remove(auxArt);
            compraEnCurso.PrecioTotal -= auxArt.PrecioFinal;
        }
        /// <summary>
        /// Busca un ArticuloCompra en una lista teniendo en cuenta su ID.
        /// </summary>
        /// <param name="lista"></param>
        /// <param name="id"></param>
        /// <returns>Retorna la Indumentaria en caso de encontrarlo. Caso contrario retorna null</returns>
        public static ArticuloCompra <Producto> FindArticuloInList(this List <ArticuloCompra <Producto> > lista, int id)
        {
            ArticuloCompra <Producto> auxArt = null;

            if (lista.Exists(x => x.IdProducto == id))
            {
                auxArt = lista.Find(x => x.IdProducto == id);
            }
            return(auxArt);
        }
예제 #3
0
        /// <summary>
        /// Agrega un artículo a la lista de ArticuloCompra de la Compra, sumando su valor al precioTotal.
        /// </summary>
        /// <param name="articuloCompra"></param>
        public void AgregarArticulo(ArticuloCompra <T> articuloCompra)
        {
            precioTotal += articuloCompra.PrecioFinal;

            if (Productos.Exists(x => x.IdProducto == articuloCompra.IdProducto))
            {
                ArticuloCompra <T> auxArt = Productos.Find(x => x.IdProducto == articuloCompra.IdProducto);
                auxArt.Cantidad   += articuloCompra.Cantidad;
                auxArt.PrecioFinal = auxArt.Cantidad * auxArt.PrecioUnitario;
            }
            else
            {
                productos.Add(articuloCompra);
            }
        }
        public void AgregarArticulo(ArticuloCompra articuloCompra)
        {
            precioTotal += articuloCompra.PrecioFinal;

            if (Productos.Exists(x => x.Producto.Equals(articuloCompra.Producto, StringComparison.OrdinalIgnoreCase)))
            {
                ArticuloCompra auxArt = Productos.Find(x => x.Producto.Equals(articuloCompra.Producto, StringComparison.OrdinalIgnoreCase));
                auxArt.Cantidad   += articuloCompra.Cantidad;
                auxArt.PrecioFinal = auxArt.Cantidad * auxArt.PrecioUnitario;
            }
            else
            {
                productos.Add(articuloCompra);
            }
        }
예제 #5
0
        /// <summary>
        /// Agrega el ArticuloCompra que recibe por parametro, el cual contiene un alimento, a la lista de Articulos de la compra en curso. En caso de que se repita, solo agrega la cantidad seleccionada.
        /// </summary>
        /// <param name="articuloCompra"></param>
        /// <returns>Retorna True EXITO. En caso contrario False.</returns>
        public static bool AgregarAlimentoAlCarrito(ArticuloCompra <Producto> articuloCompra)
        {
            if (CompraEnCurso.Productos.Exists(x => x.Producto.Equals(articuloCompra.Producto, StringComparison.OrdinalIgnoreCase)))
            {
                if (listaAlimentos.Find(x => x.Descripcion.Equals(articuloCompra.Producto, StringComparison.OrdinalIgnoreCase)).Stock >=
                    (articuloCompra.Cantidad + CompraEnCurso.Productos.Find(x => x.Producto.Equals(articuloCompra.Producto, StringComparison.OrdinalIgnoreCase)).Cantidad))
                {
                    compraEnCurso.AgregarArticulo(articuloCompra);
                    return(true);
                }
            }
            else
            {
                if (listaAlimentos.Find(x => x.Descripcion.Equals(articuloCompra.Producto, StringComparison.OrdinalIgnoreCase)).Stock >= articuloCompra.Cantidad)
                {
                    compraEnCurso.AgregarArticulo(articuloCompra);
                    return(true);
                }
            }

            return(false);
        }
예제 #6
0
        /// <summary>
        /// Agrega el ArticuloCompra que recibe por parametro, el cual contiene una Indumentaria, a la lista de Articulos de la compra en curso. En caso de que se repita, solo agrega la cantidad seleccionada.
        /// </summary>
        /// <param name="articuloCompra"></param>
        /// <returns>Retorna True EXITO. En caso contrario False.</returns>
        public static bool AgregarIndumentariaAlCarrito(ArticuloCompra <Producto> articuloCompra)
        {
            if (CompraEnCurso.Productos.ExistsArticuloInList(articuloCompra.IdProducto))
            {
                if (listaIndumentaria.FindIndumentariaInList(articuloCompra.IdProducto).Stock >=
                    (articuloCompra.Cantidad + CompraEnCurso.Productos.FindArticuloInList(articuloCompra.IdProducto).Cantidad))
                {
                    compraEnCurso.AgregarArticulo(articuloCompra);
                    return(true);
                }
            }
            else
            {
                if (listaIndumentaria.FindIndumentariaInList(articuloCompra.IdProducto).Stock >= articuloCompra.Cantidad)
                {
                    compraEnCurso.AgregarArticulo(articuloCompra);
                    return(true);
                }
            }

            return(false);
        }