EncerrarApuracaoResponse.fromJson constructor

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

Cria uma instância a partir de um mapa JSON.

Implementation

factory EncerrarApuracaoResponse.fromJson(Map<String, dynamic> json) {
  final baseResponse = MitResponse.fromJson(json);

  String? protocoloEncerramento;
  int? idApuracao;

  if (json['dados'] != null) {
    final dadosStr = json['dados'].toString();
    try {
      final dados = jsonDecode(dadosStr) as Map<String, dynamic>;
      protocoloEncerramento = dados['protocoloEncerramento'] as String?;
      idApuracao = dados['idApuracao'] as int?;
    } catch (e) {
      // Se não conseguir decodificar, mantém null
    }
  }

  return EncerrarApuracaoResponse(
    status: baseResponse.status,
    responseId: baseResponse.responseId,
    responseDateTime: baseResponse.responseDateTime,
    mensagens: baseResponse.mensagens,
    protocoloEncerramento: protocoloEncerramento,
    idApuracao: idApuracao,
  );
}