void CargarDatosAlFormulario() { pedidoEditando = PedidoBL.BuscarPorId((int)idPedido); lblNumeroPedido.Text = pedidoEditando.NumeroPedido.ToString(); lblCCF.Text = pedidoEditando.NumeroCCF; dtpFechaEntrega.Value = pedidoEditando.FechaEntrega; cmbEstadoPedido.SelectedItem = pedidoEditando.Estado; dtpFechaCreacion.Value = pedidoEditando.FechaCreacion; txtDireccionEntregaPedido.Text = pedidoEditando.DireccionEntrega; cliente = ClienteBL.BuscarPorId(pedidoEditando.IdCliente); lblCliente.Text = string.Concat(cliente.PrimerNombre, " ", cliente.SegundoNombre, " ", cliente.PrimerApellido, " ", cliente.SegundoApellido); lblDui.Text = cliente.DUI; listadoViejoDetallesPedido = DetallePedidoBL.ObtenerTodos((int)idPedido); cmbEstadoDetallePedido.SelectedIndex = 0; if (listadoViejoDetallesPedido != null) { for (int i = 0; i < listadoViejoDetallesPedido.Count; i++) { dgvListadoDetallesPedido.Rows.Add(); dgvListadoDetallesPedido.Rows[i].Cells[0].Value = listadoViejoDetallesPedido[i].Id; dgvListadoDetallesPedido.Rows[i].Cells[1].Value = listadoViejoDetallesPedido[i].Cantidad; dgvListadoDetallesPedido.Rows[i].Cells[2].Value = listadoViejoDetallesPedido[i].Producto; dgvListadoDetallesPedido.Rows[i].Cells[3].Value = listadoViejoDetallesPedido[i].Descripcion; dgvListadoDetallesPedido.Rows[i].Cells[4].Value = listadoViejoDetallesPedido[i].Estado; dgvListadoDetallesPedido.Rows[i].Cells[5].Value = listadoViejoDetallesPedido[i].PrecioUnitario; dgvListadoDetallesPedido.Rows[i].Cells[6].Value = listadoViejoDetallesPedido[i].SubTotal; listadoDetallesPedido.Add(listadoViejoDetallesPedido[i]); } CalcularTotales(); } }
private void btnEliminarPedido_Click(object sender, EventArgs e) { int idPedidoAEliminar = int.Parse(dgvListadoPedidos.SelectedRows[0].Cells[0].Value.ToString()); DialogResult resultadoDialgo = MetroMessageBox.Show(this, "¿Desea eliminar este pedido?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (resultadoDialgo == DialogResult.Yes) { List <DetallePedido> listadoDetalles = DetallePedidoBL.ObtenerTodos(idPedidoAEliminar); if (listadoDetalles.Count >= 1) { DialogResult resultado = MetroMessageBox.Show(this, "Se eliminarán el pedido y todos sus detalles.", "¡Advertencia!", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2); if (resultado == DialogResult.OK) { foreach (var item in listadoDetalles) { DetallePedidoBL.Eliminar(item.Id); } PedidoBL.Eliminar(idPedidoAEliminar); } } else { PedidoBL.Eliminar(idPedidoAEliminar); } CargarPedidos(); } }
void CargarDetalles() { try { listadoDetallesPedido = DetallePedidoBL.ObtenerTodos(idPedido); dgvListadoDetallesPedido.Rows.Clear(); pedido = PedidoBL.BuscarPorId(idPedido); lblNumeroPedido.Text = pedido.NumeroPedido.ToString(); lblNumeroCCF.Text = pedido.NumeroCCF; lblFechaCreacion.Text = pedido.FechaCreacion.ToString("d"); lblEstadoPedido.Text = pedido.Estado; lblFechaEntrega.Text = pedido.FechaEntrega.ToString("d"); lblDireccionEntrega.Text = pedido.DireccionEntrega; cliente = ClienteBL.BuscarPorId(pedido.IdCliente); lblCliente.Text = string.Concat(cliente.PrimerNombre, " ", cliente.SegundoNombre, " ", cliente.PrimerApellido, " ", cliente.SegundoApellido); lblDuiCliente.Text = cliente.DUI; lblUsuario.Text = string.Concat(FrmPrincipal.usuarioActual.Nombres, " ", FrmPrincipal.usuarioActual.Apellidos); double sumas = 0.00f; for (int i = 0; i < listadoDetallesPedido.Count; i++) { dgvListadoDetallesPedido.Rows.Add(); dgvListadoDetallesPedido.Rows[i].Cells[0].Value = listadoDetallesPedido[i].Id; dgvListadoDetallesPedido.Rows[i].Cells[1].Value = listadoDetallesPedido[i].Estado; dgvListadoDetallesPedido.Rows[i].Cells[2].Value = listadoDetallesPedido[i].Producto; dgvListadoDetallesPedido.Rows[i].Cells[3].Value = listadoDetallesPedido[i].Descripcion; dgvListadoDetallesPedido.Rows[i].Cells[4].Value = listadoDetallesPedido[i].Cantidad; dgvListadoDetallesPedido.Rows[i].Cells[5].Value = listadoDetallesPedido[i].PrecioUnitario.ToString("C"); dgvListadoDetallesPedido.Rows[i].Cells[6].Value = listadoDetallesPedido[i].SubTotal.ToString("C"); sumas += listadoDetallesPedido[i].SubTotal; } lblSumas.Text = sumas.ToString("C"); lblIva.Text = (sumas * 0.13).ToString("C"); lblTotal.Text = (sumas * 1.13).ToString("C"); } catch (Exception error) { MetroMessageBox.Show(this, $"¡Ha ocurrido un error!\nMÁS INFORMACIÓN: {error.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); Close(); } }
void GuardarPedido() { Cursor = Cursors.WaitCursor; // try // { if (dgvListadoDetallesPedido.Rows.Count < 1) { epValidadorControles.SetError(dgvListadoDetallesPedido, "Debe agregar al menos un detalle."); } else { if (idPedido == null) { int resultadoPedido = 0; int resultadoDetallePedido = 0; Pedido pedidoARegistrar = new Pedido(); pedidoARegistrar.IdCliente = cliente.Id; pedidoARegistrar.IdUsuario = usuarioActual.Id; pedidoARegistrar.NumeroPedido = int.Parse(lblNumeroPedido.Text); pedidoARegistrar.FechaCreacion = dtpFechaCreacion.Value; pedidoARegistrar.FechaEntrega = dtpFechaEntrega.Value; pedidoARegistrar.DireccionEntrega = txtDireccionEntregaPedido.Text; pedidoARegistrar.Estado = cmbEstadoPedido.SelectedItem.ToString(); pedidoARegistrar.NumeroCCF = lblCCF.Text; resultadoPedido += PedidoBL.Guardar(pedidoARegistrar); for (int i = 0; i < listadoDetallesPedido.Count; i++) { DetallePedido detallePedidoARegistrar = new DetallePedido(); detallePedidoARegistrar.IdPedido = (PedidoBL.BuscarPorNumeroPedido(int.Parse(lblNumeroPedido.Text))).Id; detallePedidoARegistrar.IdProducto = listadoDetallesPedido[i].IdProducto; detallePedidoARegistrar.Cantidad = listadoDetallesPedido[i].Cantidad; detallePedidoARegistrar.PrecioUnitario = listadoDetallesPedido[i].PrecioUnitario; detallePedidoARegistrar.Estado = listadoDetallesPedido[i].Estado; resultadoDetallePedido += DetallePedidoBL.Guardar(detallePedidoARegistrar); } MetroMessageBox.Show(this, $"{resultadoPedido} pedido registrado.\n{resultadoDetallePedido} detalle(s) del pedido registrado(s).", "¡Aviso!", MessageBoxButtons.OK, MessageBoxIcon.Information); Thread hiloDos = new Thread(new ThreadStart(MostrarBarra)); hiloDos.Start(); FrmCCF informe = new FrmCCF(int.Parse(lblNumeroPedido.Text), ref hiloDos); informe.ShowDialog(); Limpiar(); } else { int resultadoPedido = 0; int resultDetallesModificados = 0; int resultDetallesAñadidos = 0; int resultadoEliminados = 0; pedidoEditando.IdCliente = cliente.Id; pedidoEditando.FechaCreacion = dtpFechaCreacion.Value; pedidoEditando.FechaEntrega = dtpFechaEntrega.Value; pedidoEditando.DireccionEntrega = txtDireccionEntregaPedido.Text; pedidoEditando.Estado = cmbEstadoPedido.SelectedItem.ToString(); resultadoPedido += PedidoBL.Modificar(pedidoEditando); for (int i = 0; i < listadoDetallesPedido.Count; i++) { DetallePedido detallePedido = new DetallePedido(); detallePedido.Id = listadoDetallesPedido[i].Id; detallePedido.IdPedido = (int)idPedido; detallePedido.IdProducto = listadoDetallesPedido[i].IdProducto; detallePedido.Cantidad = listadoDetallesPedido[i].Cantidad; detallePedido.PrecioUnitario = listadoDetallesPedido[i].PrecioUnitario; detallePedido.Estado = listadoDetallesPedido[i].Estado; if (listadoViejoDetallesPedido.Find(x => x.Id == listadoDetallesPedido[i].Id) != null) { resultDetallesModificados += DetallePedidoBL.Modificar(detallePedido); } else { resultDetallesAñadidos += DetallePedidoBL.Guardar(detallePedido); } } if (detallesViejosAEliminarDeLaBD.Count >= 1) { for (int i = 0; i < detallesViejosAEliminarDeLaBD.Count; i++) { resultadoEliminados += DetallePedidoBL.Eliminar(detallesViejosAEliminarDeLaBD[i]); } } objetoPedidosActual.CargarPedidos(); DialogResult resultadoDelDialgo = MetroMessageBox.Show (this, $"{resultadoPedido} pedido actualizado.\n{resultDetallesModificados} detalle(s) actualizado(s).\n" + $"{resultDetallesAñadidos} detalle(s) registrado(s).\n{resultadoEliminados} detalle(s) eliminado(s).\n¿Desea cerrar el editor?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (resultadoDelDialgo == DialogResult.Yes) { Close(); } } } /* } * catch (Exception error) * { * MetroMessageBox.Show(this, $"¡Ha ocurrido un error!\nMÁS INFORMACIÓN: {error.Message}", "Error", MessageBoxButtons.OK, * MessageBoxIcon.Error); * }*/ Cursor = Cursors.Arrow; }