valorDocumento static method

int? valorDocumento(
  1. dynamic documento
)

Retorna o valor do documento como um número inteiro. Tipos:

  • date: Retorna o valor do documento como um timestamp (millisecondsSinceEpoch).
  • ChaveNFe: Retorna o valor da chave como um inteiro.
  • NFe: Retorna o número da NFe.
  • Estado: Retorna o IBGE do estado.
  • Cidade: Retorna o IBGE da cidade.
  • Endereco: Retorna o CEP do endereço.
  • num: Retorna o valor do número arredondado para baixo.
  • String: Verifica se o documento é um CPF, CNPJ, CEP, EAN, PIS, CNH, ChaveNFe, Telefone, Inscrição Estadual e retorna o valor como um inteiro.
    • Iscrições estaduais, apenas a parte numérica é retornada como inteiro.
  • Color: Retorna o valor da cor.
  • null: Retorna null.

Se o documento for nulo ou não for um número, retorna null.

Implementation

static int? valorDocumento(dynamic documento) {
  if (documento == null) return null;
  if (documento is date) return documento.millisecondsSinceEpoch.nullIfZero;
  if (documento is Estado) return documento.ibge.nullIfZero;
  if (documento is Cidade) return documento.ibge.nullIfZero;
  if (documento is Endereco) return documento.cep.onlyNumbers.toInt.nullIfZero;
  if (documento is num) return documento.floor();
  if (documento is Color) return documento.alphaHexadecimal.toInt!;

  if (validarCPF(documento) || validarCNPJ(documento) || validarCEP(documento) || validarEAN(documento) || validarPIS(documento) || validarCNH(documento) || validarTelefone(documento) || validarInscricaoEstadual(documento)) {
    return int.tryParse("$documento".onlyNumbers).nullIfZero;
  }

  return null;
}