ConsolidarEmitirDarfResponse.fromJson constructor

ConsolidarEmitirDarfResponse.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory ConsolidarEmitirDarfResponse.fromJson(Map<String, dynamic> json) {
  ConsolidadoDarf? consolidado;
  String? darf;
  String? numeroDocumento;

  // Processar dados se existirem
  if (json['dados'] != null) {
    final dadosStr = json['dados'].toString();
    try {
      final dados = jsonDecode(dadosStr);

      if (dados['consolidado'] != null) {
        consolidado = ConsolidadoDarf.fromJson(dados['consolidado']);
      }

      darf = dados['darf']?.toString();
      numeroDocumento = dados['numeroDocumento']?.toString();
    } catch (e) {
      printE('Erro ao processar dados: $e');
      // Ignorar erro de parsing, manter campos como null
    }
  }

  return ConsolidarEmitirDarfResponse(
    status: int.parse(json['status'].toString()),
    mensagens: json['mensagens'] != null
        ? (json['mensagens'] as List)
              .map((m) => MensagemNegocio.fromJson(m))
              .toList()
        : null,
    consolidado: consolidado,
    darf: darf,
    numeroDocumento: numeroDocumento,
  );
}