receitaPermiteCodigoBarras method

Future<bool> receitaPermiteCodigoBarras(
  1. String codigoReceita, {
  2. String? contratanteNumero,
  3. String? autorPedidoDadosNumero,
})

Valida se uma receita permite código de barras

Implementation

Future<bool> receitaPermiteCodigoBarras(
  String codigoReceita, {
  String? contratanteNumero,
  String? autorPedidoDadosNumero,
}) async {
  try {
    final request = criarConsultaReceitas(
      contribuinteNumero: '00000000000', // CPF genérico para consulta
      codigoReceita: codigoReceita,
      contratanteNumero: contratanteNumero,
      autorPedidoDadosNumero: autorPedidoDadosNumero,
    );

    final response = await consultarReceitas(
      request,
      contratanteNumero: contratanteNumero,
      autorPedidoDadosNumero: autorPedidoDadosNumero,
    );

    if (response.receita?.extensoes.isNotEmpty == true) {
      return response.receita!.extensoes.any(
        (extensao) => extensao.informacoes.codigoBarras,
      );
    }

    return false;
  } catch (e) {
    return false;
  }
}