pegarEstado static method

Estado pegarEstado(
  1. dynamic nomeOuUFOuIBGE
)

Pega um estado a partir do nome, UF ou IBGE Se uma primeira busca não retornar resultados, ele tenta buscar pelo nome de uma cidade

Parâmetros:

  • nomeOuUFOuIBGE: O nome, UF ou IBGE do estado a ser pesquisado.

Retorna: Um objeto do tipo Estado que corresponde ao estado pesquisado, ou Estado.naoDefinido se nenhum resultado for encontrado.

Implementation

static Estado pegarEstado(dynamic nomeOuUFOuIBGE) {
  try {
    if (nomeOuUFOuIBGE is Estado) {
      return nomeOuUFOuIBGE;
    }
    if (nomeOuUFOuIBGE is Cidade) {
      return nomeOuUFOuIBGE.estado;
    }

    nomeOuUFOuIBGE = flatString("$nomeOuUFOuIBGE");

    var l = estados.where((e) => e.nome.flatEqual(nomeOuUFOuIBGE) || e.uf.flatEqual(nomeOuUFOuIBGE) || e.ibge.toString() == nomeOuUFOuIBGE.toString().first(2));
    return l.singleOrNull ?? Estado.naoDefinido;
  } catch (e) {
    return Estado.naoDefinido;
  }
}