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(); }
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 }