private bool ValidarAcessoPorIP(int usuarioId, out string ipUsuario, bool remoto) { // Acessando internamente if (!Internet.AcessoViaInternet(out ipUsuario) || remoto) { return(true); } var vinculosContas = _usuarioRepositorio .ObterVinculosContas(usuarioId); if (!vinculosContas.Any()) { throw new Exception("Seu usuário não está vinculado a nenhuma Conta"); } var ips = new List <ControleAcessoConta>(); foreach (var vinculo in vinculosContas) { ips.AddRange(_contaRepositorio.ObterVinculosIPs(vinculo.ContaId)); } foreach (var ip in ips) { if (Internet.ContemIP(ip.IPInicial, ip.IPFinal, ipUsuario)) { return(true); } } return(false); }