Exemplo n.º 1
0
        private void btnGuardarCambios_Click_1(object sender, EventArgs e)
        {
            if (txtCantidadMateriaPrima.Text == "" || txtCantidadMateriaPrima.Text == "0")
            {
                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 = "PRODUCCIÓN DIARIA",
                    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 = "PRODUCCIÓN DIARIA",
                    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");

            this.Controles_Inicio();
        }