// POST: api/Inventario
        public ID Post([FromBody] Inventario Inventario)
        {
            if (Inventario == null)
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }

            int ret = -1;

            if (Inventario != null)
            {
                ret = ClassBD.AgregarInventario(Inventario);
            }
            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  = Inventario.Existencia,
                    Fecha          = DateTime.Now.ToString("yyyy-MM-dd HH:mm")
                };
                ClassBD.AgregarMovimiento(NuevoMovimiento);
            }
            return(new ID(ret));
        }
Exemplo n.º 2
0
        public ID GetActualizarSalida(string id)
        {
            if (id == null)
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }

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

            if (id != null && Convert.ToInt32(id) > 0)
            {
                if (ClassBD.ObtenerOrdenVById(Convert.ToInt32(id)).idOperacion == 3)
                {
                    ret              = Convert.ToInt32(id);
                    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)
                            {
                                NuevoMovimiento = new InventarioMov()
                                {
                                    idInventario   = ProductoInventario.idInventario,
                                    idSucursal     = ProductoInventario.idSucursal,
                                    Movimiento     = "Venta",
                                    CantidadActual = ProductoInventario.Existencia,
                                    Cantidad       = ProductoOrden.Cantidad,
                                    CantidadNueva  = ProductoInventario.Existencia - ProductoOrden.Cantidad,
                                    Fecha          = DateTime.Now.ToString("yyyy-MM-dd HH:mm")
                                };
                                ClassBD.AgregarMovimiento(NuevoMovimiento);
                                ProductoInventario.Existencia -= ProductoOrden.Cantidad;
                                ClassBD.ActualizarInventario(ProductoInventario);
                                if (OrdenCVP.idEstatus == 2)
                                {
                                    OrdenCVP.idEstatus = 3;
                                }
                                if (OrdenCVP.idEstatus == 4)
                                {
                                    OrdenCVP.idEstatus = 5;
                                }
                                ClassBD.ActualizarOrdenV(OrdenCVP);
                            }
                        }
                    }
                    ret = 0;
                }
            }
            return(new ID(ret));
        }
        // PUT: api/Inventario
        public void Put([FromBody] Inventario Inventario)
        {
            if (Inventario == null)
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }

            Inventario Actual = ClassBD.ObtenerInventarioById(Inventario.idInventario);

            ClassBD.ActualizarInventario(Inventario);
            InventarioMov NuevoMovimiento = new InventarioMov()
            {
                idInventario   = Inventario.idInventario,
                idSucursal     = Actual.idSucursal,
                Movimiento     = "Actualizar",
                CantidadActual = Actual.Existencia,
                Cantidad       = Math.Abs(Actual.Existencia - Inventario.Existencia),
                CantidadNueva  = Inventario.Existencia,
                Fecha          = DateTime.Now.ToString("yyyy-MM-dd HH:mm")
            };

            ClassBD.AgregarMovimiento(NuevoMovimiento);
        }
        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));
        }