Example #1
0
        /// <summary>
        /// Busca un ArticuloPedido en una lista teniendo en cuenta su ID.
        /// </summary>
        /// <param name="lista"></param>
        /// <param name="id"></param>
        /// <returns>Retorna el ArticuloPedido en caso de encontrarlo. Caso contrario retorna null</returns>
        public static ArticuloPedido <Producto> FindArticuloInList(this List <ArticuloPedido <Producto> > lista, int id)
        {
            ArticuloPedido <Producto> auxArt = null;

            if (lista.Exists(x => x.IdProducto == id))
            {
                auxArt = lista.Find(x => x.IdProducto == id);
            }
            return(auxArt);
        }
Example #2
0
        /// <summary>
        /// Agrega un artículo a la lista de ArticuloPedidos del Pedido, sumando su valor al precioTotal.
        /// </summary>
        /// <param name="articuloPedido"></param>
        public void AgregarArticulo(ArticuloPedido <T> articuloPedido)
        {
            precioTotal += articuloPedido.PrecioFinal;

            if (Productos.Exists(x => x.IdProducto == articuloPedido.IdProducto))
            {
                ArticuloPedido <T> auxArt = Productos.Find(x => x.IdProducto == articuloPedido.IdProducto);
                auxArt.Cantidad   += articuloPedido.Cantidad;
                auxArt.PrecioFinal = auxArt.Cantidad * auxArt.PrecioUnitario;
            }
            else
            {
                productos.Add(articuloPedido);
            }
        }
Example #3
0
        public static bool AgregarBebidaAlPedido(ArticuloPedido <Producto> articuloPedido)
        {
            if (pedidoEnCurso.Productos.ExistsArticuloInList(articuloPedido.IdProducto))
            {
                if (listaBebidas.FindBebidaInList(articuloPedido.IdProducto).Stock >=
                    (articuloPedido.Cantidad + pedidoEnCurso.Productos.FindArticuloInList(articuloPedido.IdProducto).Cantidad))
                {
                    pedidoEnCurso.AgregarArticulo(articuloPedido);
                    return(true);
                }
            }
            else
            {
                if (listaBebidas.FindBebidaInList(articuloPedido.IdProducto).Stock >= articuloPedido.Cantidad)
                {
                    pedidoEnCurso.AgregarArticulo(articuloPedido);
                    return(true);
                }
            }

            return(false);
        }