示例#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));
        }
示例#2
0
        public ID PostAgregarListaProductoTransferencia([FromBody] ListaProductos ListaProducto)
        {
            if (ListaProducto == null)
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }

            int                   ret = -1, ExistenciaRX = 0;
            TransferSuc           Transferencia    = new TransferSuc();
            List <Inventario>     InventarioTx     = new List <Inventario>();
            List <Inventario>     InventarioRx     = new List <Inventario>();
            List <ListaProductos> ProductoTransfer = new List <ListaProductos>();
            Inventario            Nuevo            = new Inventario();

            if (ListaProducto != null)
            {
                ret = ClassBD.AgregarListaProductoTransferencia(ListaProducto);
            }
            if (ret != -1 && ret != 0)
            {
                Transferencia    = ClassBD.ObtenerTransferenciaById(ListaProducto.idTransferencia);
                ProductoTransfer = ClassBD.ObtenerProductosByTransfer(ListaProducto.idTransferencia);
                InventarioTx     = ClassBD.ObtenerInventarioBySucursal(Transferencia.idSucTx);
                InventarioRx     = ClassBD.ObtenerInventarioBySucursal(Transferencia.idSucRx);

                foreach (ListaProductos Productos in ProductoTransfer)
                {
                    foreach (Inventario ProductoInventario in InventarioTx)
                    {
                        if (Productos.idProducto == ProductoInventario.idProducto)
                        {
                            ProductoInventario.Existencia -= Productos.Cantidad;
                            ClassBD.ActualizarInventario(ProductoInventario);
                        }
                    }
                }
                InventarioTx = ClassBD.ObtenerInventarioBySucursal(Transferencia.idSucTx);
                InventarioRx = ClassBD.ObtenerInventarioBySucursal(Transferencia.idSucRx);
                foreach (ListaProductos Productos in ProductoTransfer)
                {
                    foreach (Inventario ProductoInventario in InventarioRx)
                    {
                        if (Productos.idProducto == ProductoInventario.idProducto)
                        {
                            ExistenciaRX++;
                            ProductoInventario.Existencia += Productos.Cantidad;
                            ClassBD.ActualizarInventario(ProductoInventario);
                        }
                    }
                    if (ExistenciaRX == 0)
                    {
                        Nuevo = new Inventario()
                        {
                            idProducto       = Productos.idProducto,
                            Existencia       = Productos.Cantidad,
                            ExistenciaMinima = 20,
                            idSucursal       = Transferencia.idSucRx
                        };
                        ClassBD.AgregarInventario(Nuevo);
                        ExistenciaRX = 0;
                    }
                }
            }
            return(new ID(ret));
        }
        public ID PostAgregarInventariotxt([FromBody] List <Inventario> Inventario)
        {
            if (Inventario == null)
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }

            Productos         AgregarProducto = new Productos();
            List <Inventario> Existente       = new List <Inventario>();
            int ret = -1;

            if (Inventario != null)
            {
                foreach (Inventario Nuevo in Inventario)
                {
                    AgregarProducto = ClassBD.ObtenerProductoByCodigoBarras(Nuevo.CodigoBarras);
                    Existente       = ClassBD.BusquedaInventarioSuc(Nuevo.idSucursal, Nuevo.CodigoBarras);
                    if (Existente != null && Existente.Count > 0)
                    {
                        if (Existente[0].Codigo != null && Existente[0].Producto != null && Existente[0].Codigo != "" && Existente[0].Producto != "")
                        {
                            Inventario Actual = ClassBD.ObtenerInventarioById(Existente[0].idInventario);
                            Existente[0].Existencia += Nuevo.Existencia;
                            ClassBD.ActualizarInventario(Existente[0]);
                            InventarioMov NuevoMovimiento = new InventarioMov()
                            {
                                idInventario   = Actual.idInventario,
                                idSucursal     = Actual.idSucursal,
                                Movimiento     = "Actualizar",
                                CantidadActual = Actual.Existencia,
                                Cantidad       = Math.Abs(Actual.Existencia - Existente[0].Existencia),
                                CantidadNueva  = Existente[0].Existencia,
                                Fecha          = DateTime.Now.ToString("yyyy-MM-dd HH:mm")
                            };
                            ClassBD.AgregarMovimiento(NuevoMovimiento);
                            ret = 1;
                        }
                    }
                    else
                    {
                        Existente.Add(new Inventario(0, AgregarProducto.idProducto, AgregarProducto.Producto, Nuevo.idSucursal, Nuevo.Sucursal, Nuevo.Existencia, 20, AgregarProducto.Descripcion,
                                                     AgregarProducto.Codigo, AgregarProducto.idPresentacion, AgregarProducto.Presentacion, AgregarProducto.Color, AgregarProducto.Piezas, AgregarProducto.PiezasTotales, AgregarProducto.CodigoBarras));
                        ret = ClassBD.AgregarInventario(Existente[0]);
                        if (ret != -1)
                        {
                            Inventario    Actual          = ClassBD.ObtenerInventarioById(ret);
                            InventarioMov NuevoMovimiento = new InventarioMov()
                            {
                                idInventario   = Actual.idInventario,
                                idSucursal     = Actual.idSucursal,
                                Movimiento     = "Nuevo",
                                CantidadActual = 0,
                                Cantidad       = Actual.Existencia,
                                CantidadNueva  = Existente[0].Existencia,
                                Fecha          = DateTime.Now.ToString("yyyy-MM-dd HH:mm")
                            };
                            ClassBD.AgregarMovimiento(NuevoMovimiento);
                        }
                    }
                }
            }
            return(new ID(ret));
        }