示例#1
0
        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);
        }
    }