Beispiel #1
0
 public bool ExisteProducto(Producto producto)
 {
     if (ProductoBodegas == null)
     {
         return(false);
     }
     return(ProductoBodegas.FirstOrDefault(x => x.Producto.Codigo == producto.Codigo) != null);
 }
Beispiel #2
0
        public ProductoBodega SacarProducto(Producto producto, int cantidad)
        {
            if (!ExisteProducto(producto))
            {
                return(null);
            }

            ProductoBodega productoBodega = ProductoBodegas.FirstOrDefault(x => x.Producto == producto);

            if (productoBodega.RestarCantidad(cantidad) > 0)
            {
                return(new ProductoBodega {
                    Producto = producto,
                    Cantidad = cantidad
                });
            }
            return(null);
        }
Beispiel #3
0
        public ProductoBodega AgregarProducto(Producto producto, int cantidad)
        {
            var errores = PuedeAgregarProducto(producto, cantidad);

            if (errores.Any())
            {
                throw new System.InvalidOperationException(string.Join(",", errores));
            }

            if (!ExisteProducto(producto))
            {
                ProductoBodegas.Add(new ProductoBodega
                {
                    Producto = producto,
                    Cantidad = cantidad
                });
            }
            else
            {
                ProductoBodegas.FirstOrDefault(x => x.Producto == producto).Cantidad += cantidad;
            }
            return(ProductoBodegas.FirstOrDefault(x => x.Producto == producto));
        }