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 btnAgregar_Click(object sender, EventArgs e) { DialogResult D = MessageBox.Show("¿DESEA AGREGAR LA FACTURA?", "CONFIRMAR", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (D == DialogResult.Yes) { string ClaveF = Convert.ToString(txtClaveFactura.Text); string Proveedor = Convert.ToString(cmbProveedores.SelectedItem); string ClaveA = Convert.ToString(cmbArticulo.SelectedItem); int ClaveFactura; int ClaveProveedor; if (ClaveF.Length == 0) { MessageBox.Show("CLAVE DE FACTURA VACÍA", "CAMPO VACÍO", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (!Rutinas.ValidaTextoNum(ClaveF)) { MessageBox.Show("CLAVE DE FACTURA NO VÁLIDA", "SÓLO NÚMEROS", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } try { ClaveFactura = int.Parse(ClaveF); } catch (Exception Ex) { MessageBox.Show("CLAVE DE FACTURA NO VÁLIDA", "ERROR FORMATO", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (mF.BuscaFacturaClave(ClaveFactura) > 0) { MessageBox.Show("LA FACTURA YA EXISTE", "CLAVE FACTURA DUPLICADA", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } ClaveProveedor = proveedores.BuscarPosNombre(Proveedor); int CantArt = lvArticulos.Items.Count; if (ClaveProveedor == -1) { MessageBox.Show("EL PROVEEDOR NO SE ENCUENTRA EN EL SISTEMA", "PROVEEDOR INEXISTENTE", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (CantArt == 0) { MessageBox.Show("NO SE PUEDE GUARDAR LA FACTURA, NO HAY ARTICULOS SELECCIONADOS", "SIN ARTICULOS", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } DateTime fecha = DateTime.Now; mF.AgregarFactura(ClaveFactura, ClaveProveedor, fecha, 0); //CREA DETALLE FACTURA POR CADA DIFERENTE TIPO DE ARTICULO for (int i = 0; i < lvArticulos.Items.Count; i++) { int ClaveArt = Convert.ToInt32(lvArticulos.Items[i].Text); int Cant = Convert.ToInt32(lvArticulos.Items[i].SubItems[4].Text); string strConexion1 = Rutinas.GetConnectionString(); SqlConnection Con1 = UsoBD.ConectaBD(strConexion1); if (Con1 == null) { MessageBox.Show("NO SE PUDO CONECTAR A LA BASE DE DATOS"); foreach (SqlError E in UsoBD.ESalida.Errors) { MessageBox.Show(E.Message); } return; } mD.AgregarDetalle(ClaveFactura, ClaveArt, Cant); } MessageBox.Show("FACTURA CREADA CORRECTAMENTE CON SUS " + CantArt + " DETALLES DE FACTURA", "FACTURA", MessageBoxButtons.OK, MessageBoxIcon.Information); Limpiar(); } }