public ModuleResults GetResults(IInstanceInfo instanceInfo) { var allData = GetAllData(instanceInfo); var siteSettings = new AllSiteSettings(allData); var resultSet = new DataSet(); ProcessMediaLibraryRecords(instanceInfo, allData, siteSettings, resultSet); Dictionary <int, Dictionary <string, bool> > formAttachmentRecords = GetFormAttachmentFiles(instanceInfo, allData, siteSettings); ProcessMissingFormAttachmentFiles(instanceInfo, allData, siteSettings, resultSet, formAttachmentRecords); ProcessMissingFormAttachmentRecords(resultSet, formAttachmentRecords); ApplyUserFriendlyTableNames(resultSet); return(new ModuleResults { Result = resultSet, }); }
private static void ProcessMediaLibraryRecords(IInstanceInfo instanceInfo, DataSet allData, AllSiteSettings siteSettings, DataSet ResultSet) { AddMediaLibraryResultsTable(allData, ResultSet); foreach (DataRow row in allData.Tables["MediaLibraryRecords"].Rows) { /* Media Library: * //MediaLibraryBaseFolder/SiteName?/folder/image.filetype */ var siteID = Convert.ToInt32(row["FileSiteID"]); var siteBaseFolder = siteSettings[siteID].baseMediaFolder; var libraryFolder = row["LibraryFolder"].ToString(); var filePath = row["FilePath"].ToString(); var fullFilePath = UriExtensions.Combine(siteBaseFolder, libraryFolder, filePath); if (!UriExtensions.Exists(fullFilePath, instanceInfo)) { var tempArray = AddAttachmentUrlToMediaRecord(row, fullFilePath); ResultSet.Tables["MediaLibraryMissingFiles"].Rows.Add(tempArray); } } }
private static void ProcessMissingFormAttachmentFiles(IInstanceInfo instanceInfo, DataSet allData, AllSiteSettings siteSettings, DataSet resultSet, Dictionary <int, Dictionary <string, bool> > formAttachmentRecords) { AddMissingFormAttachmentFilesTable(allData, resultSet); /* bizform Attachments: * //UploadedFormFiles/SiteName?/unknownguid.filetype) * AttachmentGuid is unknownguid.filetype/filename.filetype */ foreach (DataRow row in allData.Tables["BizFormAttachmentRecords"].Rows) { var siteID = Convert.ToInt32(row["SiteID"]); var guidSplit = row["AttachmentGUID"].ToString().Split(new char[] { '/' }, 2); if (guidSplit.Length != 2) { throw new ApplicationException($"AttachmentGUID of '{row["AttachmentGUID"].ToString()}' expected a '/' but did not find one."); } var rowURL = UriExtensions.Combine(siteSettings[siteID].baseFormAttachmentsFolder, guidSplit[0]); if (!UriExtensions.Exists(rowURL, instanceInfo)) { var tempArray = new List <object>(row.ItemArray); tempArray[0] = guidSplit[0]; tempArray.Add(guidSplit[1]); tempArray.Add(rowURL); resultSet.Tables["BizFormAttachmentMissingFiles"].Rows.Add(tempArray.ToArray()); } //As long as we're looping over the Attachment records anyways, take note of which records were found. if (formAttachmentRecords[siteID].ContainsKey(guidSplit[0])) { formAttachmentRecords[siteID][guidSplit[0]] = true; } } }
private static Dictionary <int, Dictionary <string, bool> > GetFormAttachmentFiles(IInstanceInfo instanceInfo, DataSet allData, AllSiteSettings siteSettings) { Dictionary <int, Dictionary <string, bool> > fileItems = new Dictionary <int, Dictionary <string, bool> >(); foreach (DataRow siteRow in allData.Tables["KenticoSites"].Rows) { var siteID = Convert.ToInt32(siteRow["SiteID"]); fileItems.Add(siteID, new Dictionary <string, bool>()); foreach (var fileObj in UriExtensions.GetFiles(siteSettings[siteID].baseFormAttachmentsFolder, true, instanceInfo)) { fileItems[siteID].Add(fileObj.Name, false); } } return(fileItems); }