private void btnAgregar_Click(object sender, EventArgs e) { DialogResult D = MessageBox.Show("¿DESEA AGREGAR EL DETALLE?", "CONFIRMAR", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (D == DialogResult.Yes) { string ClaveF = Convert.ToString(cmbClaveFactura.SelectedItem); string Articulo = Convert.ToString(cmbArticulo.SelectedItem); int ClaveFactura, ClaveArticulo; if (cmbClaveFactura.SelectedIndex == -1) { MessageBox.Show("FACTURA NO VÁLIDA", "FACTURA", MessageBoxButtons.OK, MessageBoxIcon.Error); Limpiar(); return; } try { ClaveFactura = int.Parse(ClaveF); } catch (Exception Ex) { MessageBox.Show("CLAVE DE FACTURA NO VÁLIDA", "ERROR FORMATO", MessageBoxButtons.OK, MessageBoxIcon.Error); Limpiar(); return; } if (mD.DetallesPorFactura(ClaveFactura) >= 3) { MessageBox.Show("CAPTURA MÁXIMA DE ARTÍCULOS SUPERADA PARA ESTA FACTURA", "DETALLES MÁXIMOS", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (AdmA.CantidadArticulos() - mD.DetallesPorFactura(ClaveFactura) == 0) { MessageBox.Show("NO SE PUEDEN CAPTURAR MAS ARTICULOS A ESTA FACTURA, AGREGUE MAS ARTICULOS AL CATALAGO", "SIN ARTÍCULOS", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (cmbArticulo.SelectedIndex == -1) { MessageBox.Show("ARTÍCULO NO VÁLIDO", "ARTÍCULO", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } ClaveArticulo = AdmA.BuscaClaveArt(Articulo); if (mD.DetalleRepetido(ClaveFactura, ClaveArticulo)) { MessageBox.Show("ARTÍCULO YA CAPTUDARO PARA ESTA FACTURA", "ARTICULO REPETIDO", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (numUpCantidad.Value == 0) { MessageBox.Show("CANTIDAD NO VÁLIDA", "CANTIDAD", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } int CantArt = (int)numUpCantidad.Value; int clave = AdmA.BuscaClaveArt(Articulo); mD.AgregarDetalle(ClaveFactura, clave, CantArt); MessageBox.Show("DETALLE AGREGADO CORRECTAMENTE", "DETALLE FACTURA", MessageBoxButtons.OK, MessageBoxIcon.Information); Limpiar(); } }
private void cmbClaveFactura_SelectedIndexChanged(object sender, EventArgs e) { if (cmbClaveFactura.SelectedIndex < 0) { return; } string claveFactura = cmbClaveFactura.SelectedItem.ToString(); string strConexion = Rutinas.GetConnectionString(); SqlConnection Con = UsoBD.ConectaBD(strConexion); if (Con == null) { MessageBox.Show("NO SE PUDO CONECTAR A LA BASE DE DATOS"); foreach (SqlError E in UsoBD.ESalida.Errors) { MessageBox.Show(E.Message); } return; } SqlDataReader Lector = null; string strComando = "select p.clave,p.Nombre,f.monto,format(f.fecha,'dd/MM/yyyy') from Factura f inner join Proveedor p on f.provedor=p.Clave where f.clave =" + claveFactura; Lector = UsoBD.Consulta(strComando, Con); if (Lector == null) { MessageBox.Show("ERROR AL HACER LA CONSULTA"); foreach (SqlError E in UsoBD.ESalida.Errors) { MessageBox.Show(E.Message); } Con.Close(); return; } if (Lector.HasRows) { while (Lector.Read()) { txtClaveProveedor.Text = Lector.GetValue(0).ToString(); txtProveedor.Text = Lector.GetValue(1).ToString(); txtImporte.Text = Lector.GetValue(2).ToString(); txtFecha.Text = Lector.GetValue(3).ToString(); } } Con.Close(); int factura = int.Parse(claveFactura); txtCantDetalles.Text = String.Format("" + mD.DetallesPorFactura(factura)); }