private void eliminarConsecutivo()
 {
     if (grdDatos.Rows != null && grdDatos.Rows.Count > 0 && grdDatos.SelectedRows != null && grdDatos.SelectedRows.Count > 0)
     {
         if (MessageBox.Show("¿Está seguro(a) que desea eliminar el rango de facturas seleccionado?", "Confirmar eliminación", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
         {
             int id = int.Parse(grdDatos.SelectedRows[0].Cells["id_rango_facturas"].Value.ToString());
             Facturaconsecutivodetalle facturaconsecutivodetalle = new Facturaconsecutivodetalle();
             facturaconsecutivodetalle.ID_FACTURACONSECUTIVO = id;
             facturaconsecutivodetalle.DISPONIBLE            = "NO";
             Facturaconsecutivodetalle[] lstDetalles = serviciosFacturaconsecutivodetalle.buscarFacturaconsecutivodetalle(facturaconsecutivodetalle);
             if (lstDetalles != null && lstDetalles.Length > 0)
             {
                 MessageBox.Show("No es posible eliminar el rango de facturas seleccionado ya que hay facturas generadas con este rango", "No es posible", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
             else
             {
                 FACTURACONSECUTIVO fACTURACONSECUTIVO = new FACTURACONSECUTIVO();
                 fACTURACONSECUTIVO.ID = id;
                 fACTURACONSECUTIVO    = serviciosFACTURACONSECUTIVO.buscarPrimeroFACTURACONSECUTIVO(fACTURACONSECUTIVO);
                 if (fACTURACONSECUTIVO != null && fACTURACONSECUTIVO.ID > 0)
                 {
                     if (serviciosFACTURACONSECUTIVO.eliminarFACTURACONSECUTIVO(fACTURACONSECUTIVO))
                     {
                         MessageBox.Show("Se eliminó correctamente el rango de facturas seleccionado", "Eliminación correcta", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         getDetalleRangos();
                     }
                     else
                     {
                         MessageBox.Show("Ocurrio un error y no se eliminó correctamente el rango de facturas seleccionado", "Eliminación incorrecta", MessageBoxButtons.OK, MessageBoxIcon.Error);
                     }
                 }
                 else
                 {
                     MessageBox.Show("No se encontró el consecutivo en el sistema", "Sin información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 }
             }
         }
     }
     else
     {
         MessageBox.Show("Debe seleccionar un rango de facturas de la lista", "Sin datos", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
 }
        private void getDetalleRangoConsecutivo(int id)
        {
            grdDatos.Rows.Clear();
            Facturaconsecutivodetalle facturaconsecutivodetalle = new Facturaconsecutivodetalle();

            facturaconsecutivodetalle.ID_FACTURACONSECUTIVO = id;
            Facturaconsecutivodetalle[] lstDetalles = serviciosFacturaconsecutivodetalle.buscarFacturaconsecutivodetalle(facturaconsecutivodetalle);
            if (lstDetalles != null && lstDetalles.Length > 0)
            {
                lblCantidad.Text = lstDetalles.Length.ToString();
                foreach (Facturaconsecutivodetalle detalle in lstDetalles)
                {
                    grdDatos.Rows.Add(detalle.CONSECUTIVO, detalle.DISPONIBLE);
                }
            }
            else
            {
                lblCantidad.Text = "0";
                MessageBox.Show("El detalle del consecutivo no fue encontrado", "Sin información", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }