GerarCodigoBarrasResponse.fromJson constructor

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

Implementation

factory GerarCodigoBarrasResponse.fromJson(Map<String, dynamic> json) {
  ConsolidadoDarf? consolidado;
  CodigoBarras? codigoDeBarras;
  String? numeroDocumento;

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

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

      if (dados['codigoDeBarras'] != null) {
        codigoDeBarras = CodigoBarras.fromJson(dados['codigoDeBarras']);
      }

      numeroDocumento = dados['numeroDocumento']?.toString();
    } catch (e) {
      // Ignorar erro de parsing, manter campos como null
    }
  }

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