ConteudoIndicadorMensagens.fromJson constructor
ConteudoIndicadorMensagens.fromJson( - Map<String, dynamic> json
)
Implementation
factory ConteudoIndicadorMensagens.fromJson(Map<String, dynamic> json) {
final indicador = json['indicadorMensagensNovas']?.toString() ?? '0';
// Converter valor numérico para descrição descritiva
final indicadorMensagensNovas = switch (indicador) {
'0' => 'Contribuinte não possui mensagens novas',
'1' => 'Contribuinte possui uma mensagem nova',
'2' => 'Contribuinte possui mensagens novas',
_ => indicador,
};
final status = switch (indicador) {
'0' => StatusMensagensNovas.semMensagensNovas,
'1' => StatusMensagensNovas.umaMensagemNova,
'2' => StatusMensagensNovas.multiplasMensagensNovas,
_ => StatusMensagensNovas.semMensagensNovas,
};
final descricao = switch (status) {
StatusMensagensNovas.semMensagensNovas =>
'Contribuinte não possui mensagens novas',
StatusMensagensNovas.umaMensagemNova =>
'Contribuinte possui uma mensagem nova',
StatusMensagensNovas.multiplasMensagensNovas =>
'Contribuinte possui mensagens novas',
};
return ConteudoIndicadorMensagens(
indicadorMensagensNovas: indicadorMensagensNovas,
temMensagensNovas: indicador != '0',
statusMensagensNovas: status,
descricaoStatus: descricao,
);
}