Ejemplo n.º 1
0
        public ID PostOrdenV([FromBody] OrdenesCVP OrdenV)
        {
            if (OrdenV == null)
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }

            int                   ret              = -1;
            OrdenesCVP            OrdenCVP         = new OrdenesCVP();
            List <Inventario>     InventarioActual = new List <Inventario>();
            List <ListaProductos> ProductosOrden   = new List <ListaProductos>();

            if (OrdenV != null)
            {
                ret = ClassBD.AgregarOrdenV(OrdenV);
            }

            if (ret != -1 && ret != 0)
            {
                OrdenCVP         = ClassBD.ObtenerOrdenVById(ret);
                ProductosOrden   = ClassBD.ObtenerProductosByOrden(OrdenCVP.idOrdenCVP);
                InventarioActual = ClassBD.ObtenerInventarioBySucursal(OrdenCVP.idSucursal);
                foreach (ListaProductos ProductoOrden in ProductosOrden)
                {
                    foreach (Inventario ProductoInventario in InventarioActual)
                    {
                        if (ProductoOrden.idProducto == ProductoInventario.idProducto)
                        {
                            ProductoInventario.Existencia -= ProductoOrden.Cantidad;
                            ClassBD.ActualizarInventario(ProductoInventario);
                            OrdenCVP.idEstatus = 5;
                            ClassBD.ActualizarOrdenV(OrdenCVP);
                        }
                    }
                }
            }
            return(new ID(ret));
        }