Ide.fromMap constructor

Ide.fromMap(
  1. Map<String, dynamic> map
)

Implementation

factory Ide.fromMap(Map<String, dynamic> map) {
  Ide ide = Ide(
    cUF: map['cUF'],
    cNF: map['cNF'],
    mod: map['mod'],
    nserieSAT: map['nserieSAT'],
    serie: map['serie'],
    dEmi: map['dEmi'],
    hEmi: map['hEmi'],
    cDV: map['cDV'],
    tpAmb: map['tpAmb'],
    cNPJ: map['CNPJ'],
    signAC: map['signAC'],
    assinaturaQRCODE: map['assinaturaQRCODE'],
    numeroCaixa: map['numeroCaixa'],
    nNF: map.containsKey('nCFe') ? map['nCFe'] : map['nNF'],
    dhEmi: map['dhEmi'],
  );

  if (map.containsKey('dEmi')) {
    String parsedDate =
        ('${(map['dEmi'] as String).substring(0, 4)}-${(map['dEmi'] as String).substring(4, 6)}-${(map['dEmi'] as String).substring(6, 8)}');
    String parsedHour =
        '${(map['hEmi'] as String).substring(0, 2)}:${(map['hEmi'] as String).substring(2, 4)}:${(map['hEmi'] as String).substring(4, 6)}';
    ide.dataEmissao = "$parsedDate $parsedHour";
  } else if (map.containsKey('dhEmi')) {
    DateTime data = DateTime.parse((map['dhEmi']));
    String dataEmissao =
        "${data.year.toString()}-${data.month.toString().padLeft(2, '0')}-${data.day.toString().padLeft(2, '0')} ${data.hour.toString().padLeft(2, '0')}:${data.minute.toString().padLeft(2, '0')}:${data.second.toString().padLeft(2, '0')}";
    ide.dataEmissao = dataEmissao;
  }

  return ide;
}