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 btnGuardar_Click(object sender, EventArgs e) { DialogResult Result = MessageBox.Show("¿DESEA GUARDAR LA INFORMACION?", "PREGUNTA", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (Result == DialogResult.No) { return; } string Desc = txtDescripcion.Text, Prec = txtPrecio.Text, Marca = txtMarca.Text;; float Precio; int Cant = Convert.ToInt32(nudCantidad.Value); if (Rutinas.IsEmpty(Desc)) { MessageBox.Show("FAVOR DE ESCRIBIR UNA DESCRIPCION", "CAMPO VACIO", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (Rutinas.IsEmpty(Marca)) { MessageBox.Show("FAVOR DE ESCRIBIR EL MODELO", "CAMPO VACIO", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (!(Rutinas.validadDecimal(Prec))) { MessageBox.Show("SOLO SE ACEPTAN NUMEROS EN FORMATO (0.00)", "FORMATO INCORRECTO", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } try { Precio = Convert.ToSingle(txtPrecio.Text); } catch (FormatException E) { MessageBox.Show("EL PRECIO NO PUEDE ESTAR VACIO", "CAMPO VACIO", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (Precio < 1) { MessageBox.Show("EL PRECIO NO PUEDE SER MENOR A 1", "VALOR FUERA DE RANGO", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (Cant < 1) { MessageBox.Show("LA CANTIDAD DE ARTICULOS A INGRESAR NO PUEDE SER MENOR A 1", "VALOR FUERA DE RANGO", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (AdmA.BuscaClaveArt(Desc) > -1) { MessageBox.Show("EL ARTICULO YA FUE REGISTRADO", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (!AdmA.AgregaArt(Desc, Marca, Precio, Cant)) { MessageBox.Show("NO SE PUDO GUARDAR EL ARTICULO", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } MessageBox.Show("ARTICULO AGREGADO EXITOSAMENTE", "INFORMACION", MessageBoxButtons.OK, MessageBoxIcon.Information); Limpiar(); }
private void btnAgregarArticulo_Click(object sender, EventArgs e) { string ClaveF = Convert.ToString(txtClaveFactura), ClaveP = Convert.ToString(cmbProveedores.SelectedItem); string Articulo = Convert.ToString(cmbArticulo.SelectedItem); int ClaveArticulo; if (ClaveF.Length == 0) { MessageBox.Show("NO PUEDE AGREGAR ARTICULOS SI NO TIENE UNA FACTURA", "SIN FACTURA", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (cmbProveedores.SelectedIndex == -1) { MessageBox.Show("SELECCIONE UN PROVEEDOR", "PROVEEDOR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (cmbArticulo.SelectedIndex == -1) { MessageBox.Show("SELECCIONE UN ARTÍCULO", "ARTÍCULO", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } int CantArt = lvArticulos.Items.Count; if (CantArt >= 3) { MessageBox.Show("NO SE PUEDE AGRGAR MÁS DE 3 TIPOS DIFERENTES DE ARTICULOS", "ARTICULOS", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } ClaveArticulo = AdmA.BuscaClaveArt(Articulo); if (ClaveArticulo == -1) { MessageBox.Show("EL ARTICULO NO SE ENCONTRO EN EL SISTEMA", "ARTICULO INEXISTENTE", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } float ArtP = 0; int ArtC = 0; string ArtD = "", ArtM = ""; 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 Precio,Cantidad,Descripcion, Marca FROM Articulo WHERE Clave=" + ClaveArticulo; 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()) { ArtP = Convert.ToSingle(Lector.GetValue(0).ToString()); ArtC = Convert.ToInt32(Lector.GetValue(1).ToString()); ArtD = Lector.GetValue(2).ToString(); ArtM = Lector.GetValue(3).ToString(); } } Con.Close(); int Cant = Convert.ToInt32(numUpCantidad.Value); float PrecioTotal = Cant * ArtP; for (int i = 0; i < lvArticulos.Items.Count; i++) //BUSCA SI EL ARTICULO YA ESTA AGREGADO EN EL LIST VIEW { if (lvArticulos.Items[i].Text.Trim() == ClaveArticulo.ToString()) { int rc = Convert.ToInt32(lvArticulos.Items[i].SubItems[4].Text); //CANTIDAD DEL ARTICULO REGISTRADO int SumCant = ArtC - (rc + Cant); if (SumCant < 0) { MessageBox.Show("LA EXISTENCIA DEL ARTICULO NO ES LA SUFICIENTE PARA LA CANTIDAD INGRESADA", "EXISTENCIA INSUFICIENTE", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } int cf = rc + Cant; //CANTIDAD FINAL lvArticulos.Items[i].SubItems[4].Text = cf.ToString(); float rp = Convert.ToSingle(lvArticulos.Items[i].SubItems[5].Text); float pf = PrecioTotal + rp; //PRECIO FINAL lvArticulos.Items[i].SubItems[5].Text = pf.ToString(); CalculaImporte(); return; } } //SI EL ARTICULO A AGREGAR NO SE ENCUENTRA EN LA LIST VIEW int DifCant = ArtC - Cant; if (DifCant < 0) { MessageBox.Show("LA EXISTENCIA DEL ARTICULO NO ES LA SUFICIENTE PARA LA CANTIDAD INGRESADA", "EXISTENCIA INSUFICIENTE", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } //AGREGA LOS DATOS DEL ARTICULO EN UNA LISTA ListViewItem Registro = new ListViewItem(ClaveArticulo.ToString()); Registro.SubItems.Add(ArtD); Registro.SubItems.Add(ArtM); Registro.SubItems.Add(ArtP.ToString()); Registro.SubItems.Add(Cant.ToString()); Registro.SubItems.Add(PrecioTotal.ToString()); //AGREGA LA LISTA CON TODOS LOS DATOS DEL ARTICULO EN EL LIST VIEW lvArticulos.Items.Add(Registro); CalculaImporte(); }