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();
            }
        }
Exemple #2
0
        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));
        }