public static IQueryable <Empresa> GetEmpresas(ISession session, IEnumerable <int> empresas, Usuario user) { var empresaDao = new EmpresaDAO(); if (empresas == null && (user == null || !user.PorEmpresa) && IncludesAll(empresas)) { return(null); } if (empresas == null) { empresas = new[] { -1 } } ; var empresasU = (user != null && user.PorEmpresa ? user.Empresas.AsQueryable() : empresaDao.FindAll() ); if (!IncludesAll(empresas)) { empresasU = empresasU.Where(e => empresas.Contains(e.Id)); } return(empresasU); } }