private void btnBuscar_Click(object sender, EventArgs e) { dgvDetalles.Rows.Clear(); Factura oFactura = new Factura(); string numeroFactura; IList <DetalleFactura> listaDetalles; numeroFactura = txtPuntoDeVenta.Text + "-" + txtNumeroFactura.Text; oFactura = oFacturaService.GetFactura(numeroFactura); if (oFactura == null) { MessageBox.Show("No se encontró la factura ingresada.", "Factura no encontrada", MessageBoxButtons.OK, MessageBoxIcon.Warning); txtNumeroFactura.Clear(); txtPuntoDeVenta.Clear(); return; } listaDetalles = oDetalleFacturaService.recuperarTodos(oFactura.Id_factura.ToString()); cboCliente.Text = oFactura.Cliente.Razon_social; foreach (DetalleFactura detalle in listaDetalles) { dgvDetalles.Rows.Add((detalle.Producto != null) ? detalle.Producto.Id_producto : detalle.Proyecto.Id_proyecto, (detalle.Producto != null)?detalle.Producto.Nombre:detalle.Proyecto.Descripcion, detalle.Cantidad, detalle.Precio, (detalle.Cantidad * detalle.Precio), (detalle.Producto != null) ? true : false); } txtTotal.Text = oFactura.Total.ToString(); habilitarCampos(true); }