public override IList<DotNetNuke.Services.Search.Entities.SearchDocument> GetModifiedSearchDocuments(ModuleInfo moduleInfo, DateTime beginDate) { //create search item collection var searchItemColl = new List<SearchDocument>();// SearchItemInfoCollection(); //get list of items by moduleID FileController ctrlFiles = new FileController(); foreach (File file in ctrlFiles.GetSearchableItems(beginDate)) { //SearchItemInfo sii = new SearchItemInfo(); SearchDocument sii = new SearchDocument(); string strContent; string strGUID; string strDescription; switch (file.ItemType) { case 1: //file strContent = String.Format("{0} {1} {2} {3} {4}", file.Name, file.Description, file.CreatedByUserName, file.LastModifiedByUserName, file.FileType); strGUID = "Open=" + file.ID.ToString(); var parentFile = ctrlFiles.Get(file.ParentID); int parentID = parentFile.ID; if (parentFile.ItemType != 0) { parentID = parentFile.ParentID; } strDescription = file.Description;// String.Format("<a href=\"{0}\">[Open Containing Folder]</a> {1}", Globals.NavigateURL(moduleInfo.TabID, "", "Folder=" + parentID.ToString()), file.Description); break; case 2: //hyperlink strContent = String.Format("{0} {1} {2} {3} {4}", file.Name, file.Description, file.CreatedByUserName, file.LastModifiedByUserName, file.FileType); strGUID = "Open=" + file.ID.ToString(); strDescription = file.Description;// String.Format("<a href=\"{0}\">[Open Containing Folder]</a> {1}", Globals.NavigateURL(moduleInfo.TabID, "", "Folder=" + file.ParentID.ToString()), file.Description); break; default: //folder strContent = String.Format("{0} {1} {2} {3} {4}", file.Name, file.Description, file.CreatedByUserName, file.LastModifiedByUserName, file.FileType); strGUID = "Folder=" + file.ID.ToString(); strDescription = file.Description; break; } //get see permissions PermissionController ctrlPerm = new PermissionController(); var perms = ctrlPerm.GetItems(file.ID); string strPerms = ""; foreach (Permission perm in perms) { if (perm.CanSee) { if (perm.UserID != 0) { //user perm strPerms += String.Format("[{0}];", perm.UserID); } else { //role perm if (perm.RoleName == "All Users") { strPerms = ""; break; } strPerms += perm.RoleName; } } } if (strPerms.Length > 0) { strPerms = strPerms.Substring(0, strPerms.Length - 1); } sii.AuthorUserId = file.LastModifiedByUserID; sii.ModuleId = file.ModuleID; sii.Body = strContent; //sii.CultureCode = ""; sii.Description = strDescription; sii.IsActive = true; //sii.Keywords = strContent; sii.ModifiedTimeUtc = file.LastModifiedDate; sii.ModuleDefId = moduleInfo.ModuleDefID; sii.ModuleId = file.ModuleID; //sii.NumericKeys = ""; sii.Permissions = strPerms; sii.PortalId = file.PortalID; sii.QueryString = strGUID; //sii.RoleId = -1; //sii.SearchTypeId = -1; sii.TabId = moduleInfo.TabID; //sii.Tags = ""; sii.Title = file.Name; sii.UniqueKey = file.ID.ToString(); //sii.Url = ""; /* sii.PubDate = file.CreatedDate; sii.Description = strDescription; sii.SearchItemId = file.ID; sii.Content = strContent; sii.SearchKey = file.ID.ToString(); sii.GUID = strGUID; sii.TabId = ModInfo.TabID; sii.Title = file.Name; */ searchItemColl.Add(sii); } return searchItemColl; }