private void dgvVentas_RowEnter(object sender, DataGridViewCellEventArgs e) { try { if (dgvVentas.CurrentRow != null) { id = (int)dgvVentas[0, e.RowIndex].Value; lblVendedor.Text = Trabajador.NombreTrabajador((int)dgvVentas[1, e.RowIndex].Value); lblCliente.Text = Cliente.NombreCliente((int)dgvVentas[2, e.RowIndex].Value); if (!bgwBusquedaDetallada.IsBusy) { tmrEsperaDetallada.Enabled = true; bgwBusquedaDetallada.RunWorkerAsync(id); } } else { id = 0; lblVendedor.Text = ""; lblCliente.Text = ""; } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
/// <summary> /// Recupera una cotización que no haya sido completada antes /// </summary> /// <param name="id">ID de la cotización</param> public void RecuperarCotizacion(int id) { cont += 1; try { cboTipoPrecio.SelectedIndex = 0; VerificarVisible(); dgvProductos.Rows.Clear(); c.IDCotizacion = id; lblFolio.Text = id.ToString(); c.RecuperarCotizacion(); ControlesHabilitados(); idCliente = c.IDCliente; lblCliente.Text = Cliente.NombreCliente(idCliente); idVendedor = c.IDVendedor; lblVendedor.Text = Trabajador.NombreTrabajador(idVendedor); for (int i = 0; i < c.IDProductos.Count; i++) { if (c.Promocion[i] <= 0) { AgregarProducto(c.IDProductos[i], CodigoProducto(c.IDProductos[i]), Producto.NombreProducto(c.IDProductos[i]), c.Precio[i], c.Cantidad[i], c.DescuentoProducto[i], c.Unidad[i], c.Paquete[i]); } else { Promociones p = new Promociones(c.Promocion[i]); p.ObtenerDatos(); PromocionProducto(c.IDProductos[i], CodigoProducto(c.IDProductos[i]), Producto.NombreProducto(c.IDProductos[i]), c.Precio[i], c.Cantidad[i], p.Cantidad, c.Unidad[i], c.Promocion[i], p.Existencias); } } } catch (MySqlException ex) { FuncionesGenerales.Mensaje(this, Mensajes.Error, "Ocurrió un error al recuperar la cotización. No se ha podido conectar a la base de datos.", "Admin CSY", ex); } catch (Exception ex) { if (cont < 3) { RecuperarCotizacion(id); } else { FuncionesGenerales.Mensaje(this, Mensajes.Error, "Ocurrió un error al recuperar la cotización.", "Admin CSY", ex); } } cont = 0; }
/// <summary> /// Recupera una venta que no haya sido completada antes /// </summary> /// <param name="id">ID de la venta</param> public void RecuperarVenta(int id) { cont += 1; try { cboTipoPrecio.SelectedIndex = 0; VerificarVisible(); dgvProductos.Rows.Clear(); v.IDVenta = id; lblFolio.Text = id.ToString(); v.RecuperarVenta(); ControlesHabilitados(); idCliente = v.IDCliente; lblCliente.Text = Cliente.NombreCliente(idCliente); idVendedor = v.IDVendedor; lblVendedor.Text = Trabajador.NombreTrabajador(idVendedor); for (int i = 0; i < v.IDProductos.Count; i++) { if (v.Promocion[i] <= 0) { AgregarProducto(v.IDProductos[i], CodigoProducto(v.IDProductos[i]), Producto.NombreProducto(v.IDProductos[i]), v.Precio[i], v.Cantidad[i], v.DescuentoProducto[i], v.Unidad[i], v.Paquete[i], v.CantApartado[i]); } else { Promociones p = new Promociones(v.Promocion[i]); p.ObtenerDatos(); PromocionProducto(v.IDProductos[i], CodigoProducto(v.IDProductos[i]), Producto.NombreProducto(v.IDProductos[i]), v.Precio[i], v.Cantidad[i], p.Cantidad, v.Unidad[i], v.Promocion[i], p.Existencias); } } } catch (MySqlException ex) { throw ex; } catch (Exception ex) { if (cont < 3) { RecuperarVenta(id); } else { throw ex; } } cont = 0; }
public void VentaCotizacion(Cotizacion c) { try { VerificarVisible(); ControlesHabilitados(); v.IDSucursal = c.IDSucursal; v.NuevaVenta(); lblFolio.Text = v.IDVenta.ToString(); v.Abierta = true; v.Descuento = c.Descuento; v.IDCliente = c.IDCliente; lblCliente.Text = Cliente.NombreCliente(c.IDCliente); v.IDSucursal = c.IDSucursal; v.IDVendedor = c.IDVendedor; lblVendedor.Text = Trabajador.NombreTrabajador(c.IDVendedor); v.Impuesto = c.Impuesto; v.Subtotal = c.Subtotal; v.Total = c.Total; for (int i = 0; i < c.IDProductos.Count; i++) { if (c.Promocion[i] <= 0) { AgregarProducto(c.IDProductos[i], CodigoProducto(c.IDProductos[i]), Producto.NombreProducto(c.IDProductos[i]), c.Precio[i], c.Cantidad[i], c.DescuentoProducto[i], c.Unidad[i], c.Paquete[i], 0); } else { Promociones p = new Promociones(c.Promocion[i]); p.ObtenerDatos(); PromocionProducto(c.IDProductos[i], CodigoProducto(c.IDProductos[i]), Producto.NombreProducto(c.IDProductos[i]), c.Precio[i], c.Cantidad[i], p.Cantidad, c.Unidad[i], c.Promocion[i], p.Existencias); } } } catch (MySqlException ex) { FuncionesGenerales.Mensaje(this, Mensajes.Error, "Ocurrió un error al importar la cotización.", Config.shrug, ex); } catch (Exception ex) { FuncionesGenerales.Mensaje(this, Mensajes.Error, "Ocurrió un error al importar la cotización.", Config.shrug, ex); } }
private void LlenarDataGrid() { try { dgvVentas.Rows.Clear(); foreach (DataRow dr in dt.Rows) { decimal total = (decimal)dr["total"], totalDev = Devoluciones.TotalDevolucion((int)dr["id"]); string tipoPago = ""; DateTime fecha; switch ((TipoPago)Enum.Parse(typeof(TipoPago), dr["tipo_pago"].ToString())) { case TipoPago.Efectivo: tipoPago = "Efectivo"; break; case TipoPago.Cheque: tipoPago = "Cheque"; break; case TipoPago.Crédito: tipoPago = "Crédito"; break; case TipoPago.Débito: tipoPago = "Débito"; break; case TipoPago.Transferencia: tipoPago = "Transferencia"; break; } if (dr["update_time"] != DBNull.Value) { fecha = (DateTime)dr["update_time"]; } else { fecha = (DateTime)dr["create_time"]; } if ((total - totalDev) > 0) { dgvVentas.Rows.Add(new object[] { dr["id"], Cliente.NombreCliente((int)dr["id_cliente"]), Trabajador.NombreTrabajador((int)dr["id_vendedor"]), total - totalDev, tipoPago, fecha, totalDev }); } Application.DoEvents(); } dgvVentas_RowEnter(dgvVentas, new DataGridViewCellEventArgs(0, 0)); } catch (Exception ex) { FuncionesGenerales.Mensaje(this, Mensajes.Error, "Ocurrió un error al mostrar las ventas.", Config.shrug, ex); } }
private void LlenarDataGrid() { try { dgvCompras.Rows.Clear(); foreach (DataRow dr in dt.Rows) { dgvCompras.Rows.Add(new object[] { dr["id"], dr["create_time"], Proveedor.NombreProveedor((int)dr["id_proveedor"]), Trabajador.NombreTrabajador((int)dr["id_comprador"]), dr["total"] }); Application.DoEvents(); } dgvCompras_RowEnter(dgvCompras, new DataGridViewCellEventArgs(0, 0)); } catch (Exception ex) { FuncionesGenerales.Mensaje(this, Mensajes.Error, "Ocurrió un error al mostrar la información de la venta.", "Admin CSY", ex); } }