示例#1
0
        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);
            }
        }