Esempio n. 1
0
        private void btnGuardarStock_Click(object sender, EventArgs e)
        {
            //chequeos

            decimal stockActual = decimal.Parse(txtStockActual.Text);
            decimal stockNuevo  = decimal.Parse(txtNuevoStock.Text);

            MovimientoProducto movimiento = new MovimientoProducto()
            {
                Id             = extras.GetMovimientoProducto_Id() + 1,
                IdProducto     = extras.GetId(cmbProductos.SelectedItem.ToString()),
                TipoMovimiento = "CORRECCION",
                Cantidad       = (stockNuevo - stockActual),
                Fecha          = DateTime.Today.ToString("yyyy-MM-dd"),
                Stock          = 0,
                Observaciones  = ""
            };

            extras.AddMovimientoProducto(movimiento);

            txtNuevoStock.Text  = "0";
            txtStockActual.Text = "0";

            SetTable_Movimientos();

            btnStock.Enabled       = true;
            panelStock.Visible     = false;
            dgvMovimientos.Enabled = true;
        }
Esempio n. 2
0
        private void btnConfirmar_Click(object sender, EventArgs e)
        {
            if (txtCantidadMateriaPrima.Text == "" || txtCantidadMateriaPrima.Text == "0")
            {
                return;
            }


            if (!extras.CkConfirmacion("realizar la producción diaria con los valores ingresados"))
            {
                return;
            }

            // Nueva Produccion Diaria

            Producto productoElaborado = new Producto()
            {
                Id = extras.GetId(cmbProductoElaborado.SelectedItem.ToString())
            };

            ProduccionDiaria produccionDiaria = new ProduccionDiaria()
            {
                Id               = extras.GetProduccion_Id() + 1,
                IdProducto       = productoElaborado.Id,
                FechaProduccion  = dtpFechaProduccion.Value.ToString("yyyy-MM-dd"),
                Cantidad         = decimal.Parse(txtKilosProducto.Text),
                FechaElaboracion = dtpFechaLote.Value.ToString("yyyy-MM-dd"),
                FechaVencimiento = dtpFechaVencimiento.Value.ToString("yyyy-MM-dd"),
                NumeroLote       = dtpFechaLote.Value.ToString("yyMMdd"),
                Observaciones    = txtObservaciones.Text,
                Ubicacion        = "WORKING"
            };


            // Nuevo Movimiento de producto
            List <MovimientoProducto> listaMovimientos = new List <MovimientoProducto>();
            long idMovimientoProducto = extras.GetMovimientoProducto_Id();

            foreach (DataGridViewRow row in dgvProduccion.Rows)
            {
                idMovimientoProducto += 1;

                Producto producto = new Producto()
                {
                    Id = long.Parse(row.Cells["IdProducto"].Value.ToString())
                };
                decimal stockProducto = extras.GetProducto_Stock(producto);
                decimal cantidad      = decimal.Parse(row.Cells["Cantidad"].Value.ToString());

                MovimientoProducto movimientoProducto = new MovimientoProducto()
                {
                    Id             = idMovimientoProducto,
                    IdProducto     = producto.Id,
                    TipoMovimiento = "PRODUCCION",
                    Cantidad       = (cantidad * -1),
                    Fecha          = dtpFechaProduccion.Value.ToString("yyyy-MM-dd"),
                    Stock          = (stockProducto - cantidad),
                    Observaciones  = "Producción diaria"
                };

                listaMovimientos.Add(movimientoProducto);
            }

            foreach (DataGridViewRow row in dgvResultadosElaboracion.Rows)
            {
                idMovimientoProducto += 1;

                Producto producto = new Producto()
                {
                    Id = long.Parse(row.Cells["IdProducto"].Value.ToString())
                };
                decimal stockProducto = extras.GetProducto_Stock(producto);
                decimal cantidad      = decimal.Parse(row.Cells["Cantidad"].Value.ToString());

                MovimientoProducto movimientoProducto = new MovimientoProducto()
                {
                    Id             = idMovimientoProducto,
                    IdProducto     = producto.Id,
                    TipoMovimiento = "PRODUCCION",
                    Cantidad       = cantidad,
                    Fecha          = dtpFechaProduccion.Value.ToString("yyyy-MM-dd"),
                    Stock          = (stockProducto + cantidad),
                    Observaciones  = "Producción diaria"
                };

                listaMovimientos.Add(movimientoProducto);
            }



            extras.AddProduccion(produccionDiaria);
            extras.AddMovimientoProducto(listaMovimientos);

            // Actualizo Stock
            //foreach (DataRow row in this._movimientoProductos.Rows)
            //{
            //    ActualizarStock(long.Parse(row["IdProducto"].ToString()), decimal.Parse(row["Stock"].ToString()));
            //}

            MessageBox.Show("OK");

            lblBarra1.Visible = false;
            this.Controles_Inicio();
        }
Esempio n. 3
0
        private void btnConfirmar_Click(object sender, EventArgs e)
        {
            //chequeos

            //Actualizo el estado del pedido seleccionado
            Pedido pedido = extras.GetPedido(new Pedido()
            {
                Id = long.Parse(dgvPedidos.SelectedRows[0].Cells["IdPedido"].Value.ToString())
            });

            pedido.Estado = "ENTREGADO";

            Remito remito = new Remito()
            {
                Id = extras.GetRemito_Id() + 1,
                EmisionRecepcion = "EMISION",
                IdEmisor         = 0,
                IdDestinatario   = pedido.IdCliente,
                FechaEmision     = dtpFechaEnvio.Value.AddDays(-1).ToString("yyyy-MM-dd"),
                FechaEntrega     = dtpFechaEnvio.Value.ToString("yyyy-MM-dd"),
                Numero           = txtRemito.Text,
                Estado           = "ABIERTO",
                Observaciones    = txtDestino.Text
            };

            List <LineaPedido>        lineasPedido        = new List <LineaPedido>();
            List <LineaRemito>        lineasRemito        = new List <LineaRemito>();
            List <MovimientoProducto> movimientosProducto = new List <MovimientoProducto>();

            foreach (DataGridViewRow row in dgvContenido.Rows)
            {
                LineaPedido lineaPedido = extras.GetLineaPedido(new LineaPedido()
                {
                    Id = long.Parse(row.Cells["cId"].Value.ToString())
                });

                //lineaPedido = decimal.Parse(row.Cells["cBultosE"].Value.ToString());
                //lineaPedido.UnidadesEntregadas = decimal.Parse(row.Cells["cUnidadesE"].Value.ToString());
                //lineaPedido.KilosEntregados = decimal.Parse(row.Cells["cKilosE"].Value.ToString());

                lineasPedido.Add(lineaPedido);

                LineaRemito lineaRemito = new LineaRemito()
                {
                    Id         = extras.GetLineaRemito_Id() + 1,
                    IdRemito   = remito.Id,
                    IdProducto = lineaPedido.IdProducto,
                    //Cantidad = lineaPedido.KilosEntregados,
                    Estado = "ABIERTO"
                };

                lineasRemito.Add(lineaRemito);

                MovimientoProducto movimiento = new MovimientoProducto()
                {
                    Id             = extras.GetMovimientoProducto_Id() + 1,
                    IdProducto     = lineaPedido.IdProducto,
                    TipoMovimiento = "ENTREGA",
                    //Cantidad = lineaPedido.KilosEntregados * -1,
                    Fecha         = dtpFechaEnvio.Value.ToString("yyyy-MM-dd"),
                    Stock         = 0,
                    Observaciones = "Remito " + remito.Numero
                };

                movimientosProducto.Add(movimiento);
            }

            extras.EditPedido(pedido, false);

            foreach (LineaPedido linea in lineasPedido)
            {
                extras.EditLineaPedido(linea);
            }

            extras.AddRemito(remito);
            extras.AddLineaRemito(lineasRemito);
            extras.AddMovimientoProducto(movimientosProducto);


            //Finalizo
            DescartarCambios();
            lblBarra1.Visible = false;
            this.Controles_Inicio();
            dgvPedidos.Focus();


            SetTable_Pedidos();
        }
Esempio n. 4
0
        private void btnConfirmar_Click(object sender, EventArgs e)
        {
            //chequeos

            if (!extras.CkConfirmacion("registrar la recepción de esta Orden de Compra"))
            {
                return;
            }

            //Actualizo estado de Orden de Compra
            OrdenDeCompra orden = new OrdenDeCompra()
            {
                Id = long.Parse(dgvOrdenes.SelectedRows[0].Cells["Id"].Value.ToString())
            };

            orden        = extras.GetOrdenDeCompra(orden);
            orden.Estado = "CERRADA";

            List <LineaOrdenDeCompra> lineasOC = extras.GetLineasOrdenDeCompra(orden);

            foreach (LineaOrdenDeCompra linea in lineasOC)
            {
                if (linea.Estado == "ABIERTA")
                {
                    orden.Estado = "ABIERTA";
                }
            }

            extras.EditOrdenDeCompra(orden);

            //Ingreso el remito/recepción

            Proveedor proveedor = new Proveedor()
            {
                Id = extras.GetId(cmbProveedores.SelectedItem.ToString())
            };

            Remito remito = new Remito()
            {
                Id = extras.GetRemito_Id() + 1,
                EmisionRecepcion = "RECEPCIÓN",
                IdEmisor         = proveedor.Id,
                IdDestinatario   = 0,
                FechaEmision     = dtpFechaEmision.Value.ToString("yyyy-MM-dd"),
                FechaEntrega     = dtpFechaEntrega.Value.ToString("yyyy-MM-dd"),
                Numero           = txtRemito.Text,
                Estado           = "ENTREGADO",
                Observaciones    = "N/A"
            };

            List <LineaRemito> lineasRemito = new List <LineaRemito>();
            long idLineaRemito = extras.GetLineaRemito_Id();

            List <MovimientoProducto> listaMovimientos = new List <MovimientoProducto>();
            long idMovimientoProducto = extras.GetMovimientoProducto_Id();

            foreach (DataGridViewRow row in dgvContenido.Rows)
            {
                idLineaRemito        += 1;
                idMovimientoProducto += 1;

                Producto producto = new Producto()
                {
                    Id = long.Parse(row.Cells["IdProducto"].Value.ToString())
                };
                producto = extras.GetProducto(producto);

                decimal cantidadPedida   = decimal.Parse(row.Cells["Cantidad Pedida"].Value.ToString());
                decimal cantidadRecibida = decimal.Parse(row.Cells["Cantidad Recibida"].Value.ToString());

                string estado = "";

                if (cantidadRecibida >= cantidadPedida)
                {
                    estado = "RECIBIDO";
                }
                else if (cantidadRecibida > 0 && cantidadRecibida < cantidadPedida)
                {
                    estado = "PARCIALMENTE RECIBIDO";
                }
                else
                {
                    estado = "NO RECIBIDO";
                }

                LineaRemito lineaRemito = new LineaRemito()
                {
                    Id         = idLineaRemito,
                    IdRemito   = remito.Id,
                    IdProducto = producto.Id,
                    Cantidad   = cantidadRecibida,
                    Estado     = estado
                };

                lineasRemito.Add(lineaRemito);

                MovimientoProducto movimiento = new MovimientoProducto()
                {
                    Id             = idMovimientoProducto,
                    IdProducto     = producto.Id,
                    TipoMovimiento = "COMPRA",
                    Cantidad       = cantidadRecibida,
                    Fecha          = dtpFechaEntrega.Value.ToString("yyyy-MM-dd"),
                    Stock          = extras.GetProducto_Stock(producto) + cantidadRecibida,
                    Observaciones  = "Remito: " + remito.Numero
                };

                listaMovimientos.Add(movimiento);
            }

            extras.AddRemito(remito);
            extras.AddLineaRemito(lineasRemito);
            extras.AddMovimientoProducto(listaMovimientos);

            MessageBox.Show("Jeje");

            this.Controles_Inicio();

            dgvContenido.DataSource = new DataTable();
            dgvOrdenes.DataSource   = new DataTable();

            txtRemito.Text        = "";
            dtpFechaEmision.Value = DateTime.Today;
            dtpFechaEntrega.Value = DateTime.Today;

            cmbProveedores.SelectedIndex = 0;


            //Actualizo stock de articulos
        }