コード例 #1
0
        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();
            }
        }
コード例 #2
0
        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();
            }
        }