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>();
        }