Пример #1
0
        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);
        }