public static IEnumerable<DocumentTemplatePackage> AvailablePackages(DiscoDataContext Database, AttachmentTypes Scope) { var packages = cache.Values.Where(p => p.Scope == Scope).ToList(); if (packages.Count > 0) { var dbScope = Scope.ToString(); var validTemplateIds = Database.DocumentTemplates .Where(dt => dt.Scope == dbScope) .Select(dt => dt.Id).ToList(); return packages.Where(p => !p.IsHidden && p.DocumentTemplateIds != null && p.DocumentTemplateIds.Count > 0 && p.DocumentTemplateIds.Count(id => validTemplateIds.Contains(id)) > 0); } return Enumerable.Empty<DocumentTemplatePackage>(); }