private void RealizarBusqueda()//metodo para realizar la busqueda { try { int IdFactura = idFactura == 0 ? Convert.ToInt32(txtIdFactura.Text) : idFactura; //si es 0 quiere decir que se inició la ventana buscar factura desde el menu, de lo contrario fue de pagar deudas if (txtIdFactura.Text != "" || idFactura != 0) //aqui verifica que se haya asignado un id de factura para buscar { LimpiarData(); //metodo para limpiar el datagridview LimpiarPersonas(); //metodo para limpiar los textbox de usuario y cliente FacturasCajTableAdapter adapterFac = new FacturasCajTableAdapter(); //objeto para usar los querys de tblFactura relacionada con tblUsuario (nombre usuario) y tblCliente (nombre cliente) FacturasCajDataTable dataFac = new FacturasCajDataTable(); //objeto para guardar info proveniente de tblFactura relacionada con tblUsuario (nombre usuario) y tblCliente (nombre cliente) dataFac = adapterFac.BuscarFacPorIdConCajero(IdFactura); //el objeto almacena la informacion de la factura que se buscó por el id if (dataFac.Rows.Count > 0) //aqui verifica que si se encontró una factura { if (dataFac[0][dataFac.IdClienteColumn].ToString() == "0") //si el id del cliente es 0 quiere decir que la factura no tuvo un cliente especificado { txtNombreCliente.Text = ""; //presenta el textbox nombre del cliente limpio } else//si se especificó un cliente { txtNombreCliente.Text = dataFac[0][dataFac.NomClienteColumn].ToString();//se coloca el nombre del cliente en el textbox nombre del cliente } txtNombreUsuario.Text = dataFac[0][dataFac.CajeroColumn].ToString(); //se coloca el nombre del cajero en el textbox nombre de cajero LlenarData(IdFactura); //se busca el detalle mediante este metodo de la factura DateTime fecha = Convert.ToDateTime(dataFac[0][dataFac.FechaColumn].ToString()); //la fecha se almacena en un datetime para despues datle formato txtFecha.Text = $"{fecha.ToString("dddd")} {fecha.ToString("dd")} de {fecha.ToString("MMMM")} del {fecha.ToString("yyyy")}"; //se coloca la fecha en el textbox fecha con un determinado formato txtTotal.Text = dataFac[0][dataFac.TotalGeneralColumn].ToString(); //se coloca el total de la factura en el textbox total txtDescuento.Text = dataFac[0][dataFac.TotalDescuentoColumn].ToString(); //se coloca el total descontado en el textbox descuento txtPago.Text = dataFac[0][dataFac.PagoColumn].ToString(); //se coloca lo que se pagó en el textbox pago txtDevuelta.Text = (Convert.ToDecimal(txtPago.Text) - Convert.ToDecimal(txtTotal.Text)).ToString(); //se calcula la devuelta del txtpago menos el txttotal y se coloca en el textbox devuelta log.Info($"Se buscó la factura con el ID {IdFactura} por el usuario {usuario.Nombre} {usuario.Apellidos}"); //se registra que se buscó la factura } else//si no se encontró la factura { MessageBox.Show("No se encontró la factura", "Búsqueda de factura", MessageBoxButtons.OK, MessageBoxIcon.Error); //notifica al usuario que no se encontró la factura mediante un mensaje log.Info($"No se encontró la factura con el ID {IdFactura} buscada por el usuario {usuario.Nombre} {usuario.Apellidos}"); //registra que se buscó una factura con un id que no existe LimpiarTodo(); //se limpia toda la ventana } } else//si no hay una factura ingresada { MessageBox.Show("Debe ingresar el ID de la factura", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); LimpiarTodo(); } } catch (Exception error) { log.Error($"Error: {error.Message}", error); MessageBox.Show($"Error: {error.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void DetallarFactura_Load(object sender, EventArgs e) { // TODO: This line of code loads data into the 'tablas.DetallePro' table. You can move, or remove it, as needed. this.detalleProTableAdapter.Fill(this.tablas.DetallePro); try { FacturasCajTableAdapter adaperFac = new FacturasCajTableAdapter(); FacturasCajDataTable dataFac = adaperFac.BuscarFacPorIdConCajero(idFactura); dgvFactura.DataSource = dataFac; foreach (FacturasCajRow item in dataFac) { dgvFactura[2, 0].Value = item.Cajero; } DetallesTableAdapter adapterDet = new DetallesTableAdapter(); dgvDetalles.DataSource = adapterDet.BuscarDetPorIdFactura(idFactura); } catch (Exception error) { log.Error($"Error: {error.Message}", error); MessageBox.Show($"Error: {error.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }