/// <summary> Constructor for a new instance of the Incoming_Digital_Resource class </summary> /// <param name="Resource_Folder"> Folder for this incoming digital resource </param> /// <param name="Source_Folder"> Parent source folder </param> public Incoming_Digital_Resource(string Resource_Folder, Builder_Source_Folder Source_Folder) { type = Incoming_Digital_Resource_Type.UNKNOWN; resourceFolder = Resource_Folder; sourceFolder = Source_Folder; // Set some defaults bibid = String.Empty; vid = String.Empty; packageTime = DateTime.Now; fileRoot = "collect/image_files/"; }
private void Complete_Any_Recent_Loads_Requiring_Additional_Work() { // Get the list of recent loads requiring additional work DataTable additionalWorkRequired = SobekCM_Database.Items_Needing_Aditional_Work; if ((additionalWorkRequired != null) && (additionalWorkRequired.Rows.Count > 0)) { Add_NonError_To_Log("Processing recently loaded items needing additional work", "Standard", String.Empty, String.Empty, -1); // Create the incoming digital folder object which will be used for all these Builder_Source_Folder sourceFolder = new Builder_Source_Folder(); // Step through each one foreach (DataRow thisRow in additionalWorkRequired.Rows) { // Get the information about this item string bibID = thisRow["BibID"].ToString(); string vid = thisRow["VID"].ToString(); // Determine the file root for this string file_root = bibID.Substring(0, 2) + "\\" + bibID.Substring(2, 2) + "\\" + bibID.Substring(4, 2) + "\\" + bibID.Substring(6, 2) + "\\" + bibID.Substring(8, 2); // Determine the source folder for this resource string resource_folder = SobekCM_Library_Settings.Image_Server_Network + file_root + "\\" + vid; // Determine the METS file name string mets_file = resource_folder + "\\" + bibID + "_" + vid + ".mets.xml"; // Ensure these both exist if ((Directory.Exists(resource_folder)) && (File.Exists(mets_file))) { // Create the incoming digital resource object Incoming_Digital_Resource additionalWorkResource = new Incoming_Digital_Resource(resource_folder, sourceFolder) {BibID = bibID, VID = vid, File_Root = bibID.Substring(0, 2) + "\\" + bibID.Substring(2, 2) + "\\" + bibID.Substring(4, 2) + "\\" + bibID.Substring(6, 2) + "\\" + bibID.Substring(8, 2)}; Complete_Single_Recent_Load_Requiring_Additional_Work( resource_folder, additionalWorkResource); } else { Add_Error_To_Log("Unable to find valid resource files for reprocessing " + bibID + ":" + vid, bibID + ":" + vid, "Reprocess", -1); int itemID = SobekCM_Database.Get_ItemID_From_Bib_VID(bibID, vid); SobekCM_Database.Update_Additional_Work_Needed_Flag(itemID, false, null); } } } }