本文整理汇总了C#中SobekCM.Resource_Object.SobekCM_Item.Save_SobekCM_METS方法的典型用法代码示例。如果您正苦于以下问题:C# SobekCM_Item.Save_SobekCM_METS方法的具体用法?C# SobekCM_Item.Save_SobekCM_METS怎么用?C# SobekCM_Item.Save_SobekCM_METS使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SobekCM.Resource_Object.SobekCM_Item
的用法示例。
在下文中一共展示了SobekCM_Item.Save_SobekCM_METS方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: complete_item_submission
//.........这里部分代码省略.........
// Save to the database
Item_To_Complete.Web.File_Root = Item_To_Complete.BibID.Substring(0, 2) + "\\" + Item_To_Complete.BibID.Substring(2, 2) + "\\" + Item_To_Complete.BibID.Substring(4, 2) + "\\" + Item_To_Complete.BibID.Substring(6, 2) + "\\" + Item_To_Complete.BibID.Substring(8, 2);
SobekCM_Database.Save_New_Digital_Resource(Item_To_Complete, false, false, user.UserName, String.Empty, -1);
// Assign the file root and assoc file path
Item_To_Complete.Web.AssocFilePath = Item_To_Complete.Web.File_Root + "\\" + Item_To_Complete.VID + "\\";
// Create the static html pages
string base_url = currentMode.Base_URL;
try
{
Static_Pages_Builder staticBuilder = new Static_Pages_Builder(SobekCM_Library_Settings.System_Base_URL, SobekCM_Library_Settings.Base_Data_Directory, Translator, codeManager, iconList, skins, webSkin.Skin_Code);
string filename = user_in_process_directory + "\\" + Item_To_Complete.BibID + "_" + Item_To_Complete.VID + ".html";
staticBuilder.Create_Item_Citation_HTML(Item_To_Complete, filename, String.Empty);
// Copy the static HTML file to the web server
try
{
if (!Directory.Exists(SobekCM_Library_Settings.Static_Pages_Location + item.BibID.Substring(0, 2) + "\\" + item.BibID.Substring(2, 2) + "\\" + item.BibID.Substring(4, 2) + "\\" + item.BibID.Substring(6, 2) + "\\" + item.BibID.Substring(8)))
Directory.CreateDirectory(SobekCM_Library_Settings.Static_Pages_Location + item.BibID.Substring(0, 2) + "\\" + item.BibID.Substring(2, 2) + "\\" + item.BibID.Substring(4, 2) + "\\" + item.BibID.Substring(6, 2) + "\\" + item.BibID.Substring(8));
if (File.Exists(user_in_process_directory + "\\" + item.BibID + "_" + item.VID + ".html"))
File.Copy(user_in_process_directory + "\\" + item.BibID + "_" + item.VID + ".html", SobekCM_Library_Settings.Static_Pages_Location + item.BibID.Substring(0, 2) + "\\" + item.BibID.Substring(2, 2) + "\\" + item.BibID.Substring(4, 2) + "\\" + item.BibID.Substring(6, 2) + "\\" + item.BibID.Substring(8) + "\\" + item.BibID + "_" + item.VID + ".html", true);
}
catch (Exception)
{
// This is not critical
}
}
catch (Exception ee)
{
message = message + "<br /><span style=\"color: red\"><strong>" + ee.Message + "<br />" + ee.StackTrace.Replace("\n", "<br />") + "</strong></span>";
}
currentMode.Base_URL = base_url;
// Save the rest of the metadata
Item_To_Complete.Source_Directory = user_in_process_directory;
Item_To_Complete.Save_SobekCM_METS();
// Add this to the cache
itemList.Add_SobekCM_Item(Item_To_Complete);
Database.SobekCM_Database.Add_Item_To_User_Folder(user.UserID, "Submitted Items", Item_To_Complete.BibID, Item_To_Complete.VID, 0, String.Empty, Tracer);
// Save Bib_Level METS?
//SobekCM.Resource_Object.Writers.OAI_Writer oaiWriter = new SobekCM.Resource_Object.Writers.OAI_Writer();
//oaiWriter.Save_OAI_File(bibPackage, resource_folder + "\\oai_dc.xml", bibPackage.Processing_Parameters.Collection_Primary.ToLower(), createDate);
// If there was no match, try to save to the tracking database
Database.SobekCM_Database.Tracking_Online_Submit_Complete(Item_To_Complete.Web.ItemID, user.Full_Name, String.Empty);
// Save the MARC file
List<string> collectionnames = new List<string>();
MarcXML_File_ReaderWriter marcWriter = new MarcXML_File_ReaderWriter();
string errorMessage;
Dictionary<string, object> options = new Dictionary<string, object>();
options["MarcXML_File_ReaderWriter:Additional_Tags"] = Item_To_Complete.MARC_Sobek_Standard_Tags(collectionnames, true, SobekCM_Library_Settings.System_Name, SobekCM_Library_Settings.System_Abbreviation);
marcWriter.Write_Metadata(Item_To_Complete.Source_Directory + "\\marc.xml", Item_To_Complete, options, out errorMessage);
// Copy this to all the image servers
SobekCM_Library_Settings.Refresh(Database.SobekCM_Database.Get_Settings_Complete(Tracer));
// Copy all the files over to the server
string serverNetworkFolder = SobekCM_Library_Settings.Image_Server_Network + Item_To_Complete.Web.AssocFilePath;
// Create the folder
if (!Directory.Exists(serverNetworkFolder))
Directory.CreateDirectory(serverNetworkFolder);
if (!Directory.Exists(serverNetworkFolder + "\\" + SobekCM_Library_Settings.BACKUP_FILES_FOLDER_NAME))
Directory.CreateDirectory(serverNetworkFolder + "\\" + SobekCM_Library_Settings.BACKUP_FILES_FOLDER_NAME);
// Copy the static HTML page over first
if (File.Exists(user_in_process_directory + "\\" + item.BibID + "_" + item.VID + ".html"))
{
File.Copy(user_in_process_directory + "\\" + item.BibID + "_" + item.VID + ".html", serverNetworkFolder + "\\" + SobekCM_Library_Settings.BACKUP_FILES_FOLDER_NAME + "\\" + item.BibID + "_" + item.VID + ".html", true);
File.Delete(user_in_process_directory + "\\" + item.BibID + "_" + item.VID + ".html");
}
// Copy all the files
string[] allFiles = Directory.GetFiles(user_in_process_directory);
foreach (string thisFile in allFiles)
{
string destination_file = serverNetworkFolder + "\\" + (new FileInfo(thisFile)).Name;
File.Copy(thisFile, destination_file, true);
}
// Add this to the cache
itemList.Add_SobekCM_Item(Item_To_Complete);
// Incrememnt the count of number of items submitted by this user
user.Items_Submitted_Count++;
// Delete any remaining items
all_files = Directory.GetFiles(user_in_process_directory);
foreach (string thisFile in all_files)
{
File.Delete(thisFile);
}
}
示例2: complete_item_submission
//.........这里部分代码省略.........
// Assign the file root and assoc file path
Item_To_Complete.Web.File_Root = Item_To_Complete.BibID.Substring(0, 2) + "\\" + Item_To_Complete.BibID.Substring(2, 2) + "\\" + Item_To_Complete.BibID.Substring(4, 2) + "\\" + Item_To_Complete.BibID.Substring(6, 2) + "\\" + Item_To_Complete.BibID.Substring(8, 2);
Item_To_Complete.Web.AssocFilePath = Item_To_Complete.Web.File_Root + "\\" + Item_To_Complete.VID + "\\";
// Create the static html pages
string base_url = RequestSpecificValues.Current_Mode.Base_URL;
try
{
Static_Pages_Builder staticBuilder = new Static_Pages_Builder(UI_ApplicationCache_Gateway.Settings.Servers.System_Base_URL, UI_ApplicationCache_Gateway.Settings.Servers.Base_Data_Directory, RequestSpecificValues.HTML_Skin.Skin_Code);
string filename = userInProcessDirectory + "\\" + Item_To_Complete.BibID + "_" + Item_To_Complete.VID + ".html";
staticBuilder.Create_Item_Citation_HTML(Item_To_Complete, filename, String.Empty);
// Copy the static HTML file to the web server
try
{
if (!Directory.Exists(UI_ApplicationCache_Gateway.Settings.Servers.Static_Pages_Location + item.BibID.Substring(0, 2) + "\\" + item.BibID.Substring(2, 2) + "\\" + item.BibID.Substring(4, 2) + "\\" + item.BibID.Substring(6, 2) + "\\" + item.BibID.Substring(8)))
Directory.CreateDirectory(UI_ApplicationCache_Gateway.Settings.Servers.Static_Pages_Location + item.BibID.Substring(0, 2) + "\\" + item.BibID.Substring(2, 2) + "\\" + item.BibID.Substring(4, 2) + "\\" + item.BibID.Substring(6, 2) + "\\" + item.BibID.Substring(8));
if (File.Exists(userInProcessDirectory + "\\" + item.BibID + "_" + item.VID + ".html"))
File.Copy(userInProcessDirectory + "\\" + item.BibID + "_" + item.VID + ".html", UI_ApplicationCache_Gateway.Settings.Servers.Static_Pages_Location + item.BibID.Substring(0, 2) + "\\" + item.BibID.Substring(2, 2) + "\\" + item.BibID.Substring(4, 2) + "\\" + item.BibID.Substring(6, 2) + "\\" + item.BibID.Substring(8) + "\\" + item.BibID + "_" + item.VID + ".html", true);
}
catch (Exception)
{
// This is not critical
}
}
catch (Exception)
{
// An error here is not catastrophic
}
RequestSpecificValues.Current_Mode.Base_URL = base_url;
// Save the rest of the metadata
Item_To_Complete.Save_SobekCM_METS();
// Add this to the cache
UI_ApplicationCache_Gateway.Items.Add_SobekCM_Item(Item_To_Complete);
// Create the options dictionary used when saving information to the database, or writing MarcXML
Dictionary<string, object> options = new Dictionary<string, object>();
if (UI_ApplicationCache_Gateway.Settings.MarcGeneration != null)
{
options["MarcXML_File_ReaderWriter:MARC Cataloging Source Code"] = UI_ApplicationCache_Gateway.Settings.MarcGeneration.Cataloging_Source_Code;
options["MarcXML_File_ReaderWriter:MARC Location Code"] = UI_ApplicationCache_Gateway.Settings.MarcGeneration.Location_Code;
options["MarcXML_File_ReaderWriter:MARC Reproduction Agency"] = UI_ApplicationCache_Gateway.Settings.MarcGeneration.Reproduction_Agency;
options["MarcXML_File_ReaderWriter:MARC Reproduction Place"] = UI_ApplicationCache_Gateway.Settings.MarcGeneration.Reproduction_Place;
options["MarcXML_File_ReaderWriter:MARC XSLT File"] = UI_ApplicationCache_Gateway.Settings.MarcGeneration.XSLT_File;
}
options["MarcXML_File_ReaderWriter:System Name"] = UI_ApplicationCache_Gateway.Settings.System.System_Name;
options["MarcXML_File_ReaderWriter:System Abbreviation"] = UI_ApplicationCache_Gateway.Settings.System.System_Abbreviation;
// Save the marc xml file
MarcXML_File_ReaderWriter marcWriter = new MarcXML_File_ReaderWriter();
string errorMessage;
marcWriter.Write_Metadata(Item_To_Complete.Source_Directory + "\\marc.xml", Item_To_Complete, options, out errorMessage);
// Delete the TEMP mets file
if (File.Exists(userInProcessDirectory + "\\TEMP000001_00001.mets"))
File.Delete(userInProcessDirectory + "\\TEMP000001_00001.mets");
// Rename the METS file to the XML file
if ((!File.Exists(userInProcessDirectory + "\\" + Item_To_Complete.BibID + "_" + Item_To_Complete.VID + ".mets.xml")) &&
(File.Exists(userInProcessDirectory + "\\" + Item_To_Complete.BibID + "_" + Item_To_Complete.VID + ".mets")))
{
File.Move(userInProcessDirectory + "\\" + Item_To_Complete.BibID + "_" + Item_To_Complete.VID + ".mets", userInProcessDirectory + "\\" + Item_To_Complete.BibID + "_" + Item_To_Complete.VID + ".mets.xml");
}
示例3: Update_Item
/// <summary> Update the exsting digital resource, by saving the changes to the database and rewriting metadata files </summary>
/// <param name="Item"> Digital resource object with all the updated metadata </param>
/// <param name="User"> User who performed the update, for the item milestones </param>
/// <param name="Error_Message"> [OUT] Return an error message if an exception is encountered </param>
/// <returns> TRUE if successful, otherwise FALSE </returns>
public static bool Update_Item(SobekCM_Item Item, User_Object User, out string Error_Message )
{
Error_Message = String.Empty;
// Determine the in process directory for this
string user_bib_vid_process_directory = Path.Combine(Engine_ApplicationCache_Gateway.Settings.Servers.In_Process_Submission_Location, User.ShibbID + "\\metadata_updates\\" + Item.BibID + "_" + Item.VID);
if (User.ShibbID.Trim().Length == 0)
user_bib_vid_process_directory = Path.Combine(Engine_ApplicationCache_Gateway.Settings.Servers.In_Process_Submission_Location, User.UserName.Replace(".", "").Replace("@", "") + "\\metadata_updates\\" + Item.BibID + "_" + Item.VID);
// Ensure the folder exists and is empty to start with
if (!Directory.Exists(user_bib_vid_process_directory))
Directory.CreateDirectory(user_bib_vid_process_directory);
else
{
// Anything older than a day should be deleted
string[] files = Directory.GetFiles(user_bib_vid_process_directory);
foreach (string thisFile in files)
{
try
{
File.Delete(thisFile);
}
catch (Exception)
{
// Not much to do here
}
}
}
// Update the METS file with METS note and name
Item.METS_Header.Creator_Individual = User.UserName;
Item.METS_Header.Modify_Date = DateTime.Now;
Item.METS_Header.RecordStatus_Enum = METS_Record_Status.METADATA_UPDATE;
// Create the options dictionary used when saving information to the database, or writing MarcXML
Dictionary<string, object> options = new Dictionary<string, object>();
if (Engine_ApplicationCache_Gateway.Settings.MarcGeneration != null)
{
options["MarcXML_File_ReaderWriter:MARC Cataloging Source Code"] = Engine_ApplicationCache_Gateway.Settings.MarcGeneration.Cataloging_Source_Code;
options["MarcXML_File_ReaderWriter:MARC Location Code"] = Engine_ApplicationCache_Gateway.Settings.MarcGeneration.Location_Code;
options["MarcXML_File_ReaderWriter:MARC Reproduction Agency"] = Engine_ApplicationCache_Gateway.Settings.MarcGeneration.Reproduction_Agency;
options["MarcXML_File_ReaderWriter:MARC Reproduction Place"] = Engine_ApplicationCache_Gateway.Settings.MarcGeneration.Reproduction_Place;
options["MarcXML_File_ReaderWriter:MARC XSLT File"] = Engine_ApplicationCache_Gateway.Settings.MarcGeneration.XSLT_File;
}
options["MarcXML_File_ReaderWriter:System Name"] = Engine_ApplicationCache_Gateway.Settings.System.System_Name;
options["MarcXML_File_ReaderWriter:System Abbreviation"] = Engine_ApplicationCache_Gateway.Settings.System.System_Abbreviation;
// options["MarcXML_File_ReaderWriter:Additional_Tags"] = Item.MARC_Sobek_Standard_Tags(true, Engine_ApplicationCache_Gateway.Settings.System.System_Name, Engine_ApplicationCache_Gateway.Settings.System.System_Abbreviation);
// Save the METS file and related Items
bool successful_save = true;
try
{
SobekCM_Database.Save_Digital_Resource(Item, options, DateTime.Now, true);
}
catch
{
successful_save = false;
}
//// Create the static html pages
//string base_url = RequestSpecificValues.Current_Mode.Base_URL;
//try
//{
// Static_Pages_Builder staticBuilder = new Static_Pages_Builder(Engine_AppliationCache_Gateway.Settings.Servers.System_Base_URL, Engine_AppliationCache_Gateway.Settings.Servers.Base_Data_Directory, RequestSpecificValues.HTML_Skin.Skin_Code);
// string filename = user_bib_vid_process_directory + "\\" + Item.BibID + "_" + Item.VID + ".html";
// staticBuilder.Create_Item_Citation_HTML(Item, filename, Engine_AppliationCache_Gateway.Settings.Servers.Image_Server_Network + Item.Web.AssocFilePath);
// // Copy the static HTML file to the web server
// try
// {
// if (!Directory.Exists(Engine_AppliationCache_Gateway.Settings.Servers.Static_Pages_Location + Item.BibID.Substring(0, 2) + "\\" + Item.BibID.Substring(2, 2) + "\\" + Item.BibID.Substring(4, 2) + "\\" + Item.BibID.Substring(6, 2) + "\\" + Item.BibID.Substring(8)))
// Directory.CreateDirectory(Engine_AppliationCache_Gateway.Settings.Servers.Static_Pages_Location + Item.BibID.Substring(0, 2) + "\\" + Item.BibID.Substring(2, 2) + "\\" + Item.BibID.Substring(4, 2) + "\\" + Item.BibID.Substring(6, 2) + "\\" + Item.BibID.Substring(8));
// if (File.Exists(user_bib_vid_process_directory + "\\" + Item.BibID + "_" + Item.VID + ".html"))
// File.Copy(user_bib_vid_process_directory + "\\" + Item.BibID + "_" + Item.VID + ".html", Engine_AppliationCache_Gateway.Settings.Servers.Static_Pages_Location + Item.BibID.Substring(0, 2) + "\\" + Item.BibID.Substring(2, 2) + "\\" + Item.BibID.Substring(4, 2) + "\\" + Item.BibID.Substring(6, 2) + "\\" + Item.BibID.Substring(8) + "\\" + Item.BibID + "_" + Item.VID + ".html", true);
// }
// catch
// {
// // This is not critical
// }
//}
//catch
//{
// // Failing to make the static page is not the worst thing in the world...
//}
//RequestSpecificValues.Current_Mode.Base_URL = base_url;
Item.Source_Directory = user_bib_vid_process_directory;
Item.Save_SobekCM_METS();
// If this was not able to be saved in the database, try it again
if (!successful_save)
{
SobekCM_Database.Save_Digital_Resource(Item, options, DateTime.Now, false);
}
//.........这里部分代码省略.........
示例4: complete_item_submission
//.........这里部分代码省略.........
{
options["MarcXML_File_ReaderWriter:MARC Cataloging Source Code"] = UI_ApplicationCache_Gateway.Settings.MarcGeneration.Cataloging_Source_Code;
options["MarcXML_File_ReaderWriter:MARC Location Code"] = UI_ApplicationCache_Gateway.Settings.MarcGeneration.Location_Code;
options["MarcXML_File_ReaderWriter:MARC Reproduction Agency"] = UI_ApplicationCache_Gateway.Settings.MarcGeneration.Reproduction_Agency;
options["MarcXML_File_ReaderWriter:MARC Reproduction Place"] = UI_ApplicationCache_Gateway.Settings.MarcGeneration.Reproduction_Place;
options["MarcXML_File_ReaderWriter:MARC XSLT File"] = UI_ApplicationCache_Gateway.Settings.MarcGeneration.XSLT_File;
}
options["MarcXML_File_ReaderWriter:System Name"] = UI_ApplicationCache_Gateway.Settings.System.System_Name;
options["MarcXML_File_ReaderWriter:System Abbreviation"] = UI_ApplicationCache_Gateway.Settings.System.System_Abbreviation;
// Save to the database
try
{
SobekCM_Database.Save_Digital_Resource(Item_To_Complete, options);
}
catch (Exception ee)
{
StreamWriter writer = new StreamWriter(digitalResourceDirectory + "\\exception.txt", false);
writer.WriteLine( "ERROR CAUGHT WHILE SAVING DIGITAL RESOURCE");
writer.WriteLine( DateTime.Now.ToString());
writer.WriteLine();
writer.WriteLine( ee.Message );
writer.WriteLine( ee.StackTrace );
writer.Flush();
writer.Close();
throw;
}
// Assign the file root and assoc file path
Item_To_Complete.Web.File_Root = Item_To_Complete.BibID.Substring(0, 2) + "\\" + Item_To_Complete.BibID.Substring(2, 2) + "\\" + Item_To_Complete.BibID.Substring(4, 2) + "\\" + Item_To_Complete.BibID.Substring(6, 2) + "\\" + Item_To_Complete.BibID.Substring(8, 2);
Item_To_Complete.Web.AssocFilePath = Item_To_Complete.Web.File_Root + "\\" + Item_To_Complete.VID + "\\";
// Save the rest of the metadata
Item_To_Complete.Save_SobekCM_METS();
// Finally, set the RequestSpecificValues.Current_Item for more processing if there were any files
if ((image_files.Length > 0) && ( Item_To_Complete.Web.ItemID > 0 ))
{
Database.SobekCM_Database.Update_Additional_Work_Needed_Flag(Item_To_Complete.Web.ItemID, true, Tracer);
}
foreach (string thisFile in image_files)
{
try
{
File.Delete(thisFile);
}
catch
{
// Do nothing - not a fatal problem
}
}
try
{
Directory.Delete(digitalResourceDirectory);
}
catch
{
// Do nothing - not a fatal problem
}
// This may be called from QC, so check on that as well
string userInProcessDirectory = UI_ApplicationCache_Gateway.Settings.Servers.In_Process_Submission_Location + "\\" + RequestSpecificValues.Current_User.UserName.Replace(".", "").Replace("@", "") + "\\qcwork\\" + Item_To_Complete.METS_Header.ObjectID;
if (RequestSpecificValues.Current_User.ShibbID.Trim().Length > 0)
userInProcessDirectory = UI_ApplicationCache_Gateway.Settings.Servers.In_Process_Submission_Location + "\\" + RequestSpecificValues.Current_User.ShibbID + "\\qcwork\\" + Item_To_Complete.METS_Header.ObjectID;
示例5: complete_item_submission
//.........这里部分代码省略.........
// Add this file
Item_To_Complete.Divisions.Download_Tree.Add_File(newFile, label);
}
}
// Determine the total size of the package before saving
string[] all_files_final = Directory.GetFiles(digitalResourceDirectory);
double size = all_files_final.Aggregate<string, double>(0, (Current, ThisFile) => Current + (((new FileInfo(ThisFile)).Length)/1024));
Item_To_Complete.DiskSize_KB = size;
// Create the options dictionary used when saving information to the database, or writing MarcXML
Dictionary<string, object> options = new Dictionary<string, object>();
if (UI_ApplicationCache_Gateway.Settings.MarcGeneration != null)
{
options["MarcXML_File_ReaderWriter:MARC Cataloging Source Code"] = UI_ApplicationCache_Gateway.Settings.MarcGeneration.Cataloging_Source_Code;
options["MarcXML_File_ReaderWriter:MARC Location Code"] = UI_ApplicationCache_Gateway.Settings.MarcGeneration.Location_Code;
options["MarcXML_File_ReaderWriter:MARC Reproduction Agency"] = UI_ApplicationCache_Gateway.Settings.MarcGeneration.Reproduction_Agency;
options["MarcXML_File_ReaderWriter:MARC Reproduction Place"] = UI_ApplicationCache_Gateway.Settings.MarcGeneration.Reproduction_Place;
options["MarcXML_File_ReaderWriter:MARC XSLT File"] = UI_ApplicationCache_Gateway.Settings.MarcGeneration.XSLT_File;
}
options["MarcXML_File_ReaderWriter:System Name"] = UI_ApplicationCache_Gateway.Settings.System.System_Name;
options["MarcXML_File_ReaderWriter:System Abbreviation"] = UI_ApplicationCache_Gateway.Settings.System.System_Abbreviation;
// Save to the database
try
{
SobekCM_Database.Save_Digital_Resource( Item_To_Complete, options );
SobekCM_Database.Save_Behaviors(Item_To_Complete, Item_To_Complete.Behaviors.Text_Searchable, false, false);
}
catch (Exception ee)
{
StreamWriter writer = new StreamWriter(digitalResourceDirectory + "\\exception.txt", false);
writer.WriteLine( "ERROR CAUGHT WHILE SAVING DIGITAL RESOURCE");
writer.WriteLine( DateTime.Now.ToString());
writer.WriteLine();
writer.WriteLine( ee.Message );
writer.WriteLine( ee.StackTrace );
writer.Flush();
writer.Close();
throw;
}
// Assign the file root and assoc file path
Item_To_Complete.Web.File_Root = Item_To_Complete.BibID.Substring(0, 2) + "\\" + Item_To_Complete.BibID.Substring(2, 2) + "\\" + Item_To_Complete.BibID.Substring(4, 2) + "\\" + Item_To_Complete.BibID.Substring(6, 2) + "\\" + Item_To_Complete.BibID.Substring(8, 2);
Item_To_Complete.Web.AssocFilePath = Item_To_Complete.Web.File_Root + "\\" + Item_To_Complete.VID + "\\";
//// Create the static html pages
//string base_url = RequestSpecificValues.Current_Mode.Base_URL;
//try
//{
// Static_Pages_Builder staticBuilder = new Static_Pages_Builder(UI_ApplicationCache_Gateway.Settings.Servers.System_Base_URL, UI_ApplicationCache_Gateway.Settings.Servers.Base_Data_Directory, RequestSpecificValues.HTML_Skin.Skin_Code);
// if (!Directory.Exists(digitalResourceDirectory + "\\" + UI_ApplicationCache_Gateway.Settings.Resources.Backup_Files_Folder_Name))
// Directory.CreateDirectory(digitalResourceDirectory + "\\" + UI_ApplicationCache_Gateway.Settings.Resources.Backup_Files_Folder_Name);
// string filename = digitalResourceDirectory + "\\" + UI_ApplicationCache_Gateway.Settings.Resources.Backup_Files_Folder_Name + "\\" + Item_To_Complete.BibID + "_" + Item_To_Complete.VID + ".html";
// staticBuilder.Create_Item_Citation_HTML(Item_To_Complete, filename, String.Empty);
// // Copy the static HTML file to the web server
// try
// {
// if (!Directory.Exists(UI_ApplicationCache_Gateway.Settings.Servers.Static_Pages_Location + RequestSpecificValues.Current_Item.BibID.Substring(0, 2) + "\\" + RequestSpecificValues.Current_Item.BibID.Substring(2, 2) + "\\" + RequestSpecificValues.Current_Item.BibID.Substring(4, 2) + "\\" + RequestSpecificValues.Current_Item.BibID.Substring(6, 2) + "\\" + RequestSpecificValues.Current_Item.BibID.Substring(8)))
// Directory.CreateDirectory(UI_ApplicationCache_Gateway.Settings.Servers.Static_Pages_Location + RequestSpecificValues.Current_Item.BibID.Substring(0, 2) + "\\" + RequestSpecificValues.Current_Item.BibID.Substring(2, 2) + "\\" + RequestSpecificValues.Current_Item.BibID.Substring(4, 2) + "\\" + RequestSpecificValues.Current_Item.BibID.Substring(6, 2) + "\\" + RequestSpecificValues.Current_Item.BibID.Substring(8));
// if (File.Exists(filename))
// File.Copy(filename, UI_ApplicationCache_Gateway.Settings.Servers.Static_Pages_Location + RequestSpecificValues.Current_Item.BibID.Substring(0, 2) + "\\" + RequestSpecificValues.Current_Item.BibID.Substring(2, 2) + "\\" + RequestSpecificValues.Current_Item.BibID.Substring(4, 2) + "\\" + RequestSpecificValues.Current_Item.BibID.Substring(6, 2) + "\\" + RequestSpecificValues.Current_Item.BibID.Substring(8) + "\\" + RequestSpecificValues.Current_Item.BibID + "_" + RequestSpecificValues.Current_Item.VID + ".html", true);
// }
// catch (Exception)
// {
// // This is not critical
// }
//}
//catch (Exception)
//{
//}
//RequestSpecificValues.Current_Mode.Base_URL = base_url;
// Save the rest of the metadata
Item_To_Complete.Save_SobekCM_METS();
// Finally, set the RequestSpecificValues.Current_Item for more processing if there were any files
if (((image_files.Count > 0) || (download_files.Count > 0)) && ( Item_To_Complete.Web.ItemID > 0 ))
{
Database.SobekCM_Database.Update_Additional_Work_Needed_Flag(Item_To_Complete.Web.ItemID, true, Tracer);
}
}
catch (Exception ee)
{
// Set an initial flag
criticalErrorEncountered = true;
string error_body = "<strong>ERROR ENCOUNTERED DURING ONLINE FILE MANAGEMENT</strong><br /><br /><blockquote>Title: " + Item_To_Complete.Bib_Info.Main_Title.Title + "<br />Permanent Link: <a href=\"" + RequestSpecificValues.Current_Mode.Base_URL + "/" + Item_To_Complete.BibID + "/" + Item_To_Complete.VID + "\">" + RequestSpecificValues.Current_Mode.Base_URL + "/" + Item_To_Complete.BibID + "/" + Item_To_Complete.VID + "</a><br />User: " + RequestSpecificValues.Current_User.Full_Name + "<br /><br /></blockquote>" + ee.ToString().Replace("\n", "<br />");
string error_subject = "Error during file management for '" + Item_To_Complete.Bib_Info.Main_Title.Title + "'";
string email_to = UI_ApplicationCache_Gateway.Settings.Email.System_Error_Email;
if (email_to.Length == 0)
email_to = UI_ApplicationCache_Gateway.Settings.Email.System_Email;
Email_Helper.SendEmail(email_to, error_subject, error_body, true, String.Empty);
}
return criticalErrorEncountered;
}
示例6: complete_item_submission
//.........这里部分代码省略.........
catch (Exception ee)
{
StreamWriter writer = new StreamWriter(userInProcessDirectory + "\\exception.txt", false);
writer.WriteLine( "ERROR CAUGHT WHILE SAVING NEW DIGITAL RESOURCE");
writer.WriteLine( DateTime.Now.ToString());
writer.WriteLine();
writer.WriteLine( ee.Message );
writer.WriteLine( ee.StackTrace );
writer.Flush();
writer.Close();
throw;
}
// Assign the file root and assoc file path
Item_To_Complete.Web.File_Root = Item_To_Complete.BibID.Substring(0, 2) + "\\" + Item_To_Complete.BibID.Substring(2, 2) + "\\" + Item_To_Complete.BibID.Substring(4, 2) + "\\" + Item_To_Complete.BibID.Substring(6, 2) + "\\" + Item_To_Complete.BibID.Substring(8, 2);
Item_To_Complete.Web.AssocFilePath = Item_To_Complete.Web.File_Root + "\\" + Item_To_Complete.VID + "\\";
// Create the static html pages
string base_url = currentMode.Base_URL;
try
{
Static_Pages_Builder staticBuilder = new Static_Pages_Builder(SobekCM_Library_Settings.System_Base_URL, SobekCM_Library_Settings.Base_Data_Directory, Translator, codeManager, itemList, iconList, webSkin);
string filename = userInProcessDirectory + "\\" + Item_To_Complete.BibID + "_" + Item_To_Complete.VID + ".html";
staticBuilder.Create_Item_Citation_HTML(Item_To_Complete, filename, String.Empty);
}
catch (Exception)
{
// An error here is not catastrophic
}
currentMode.Base_URL = base_url;
// Save the rest of the metadata
Item_To_Complete.Save_SobekCM_METS();
Item_To_Complete.Save_Citation_Only_METS();
// Add this to the cache
itemList.Add_SobekCM_Item(Item_To_Complete);
//// Link this item and user
//Database.SobekCM_Database.Add_User_Item_Link(user.UserID, item.Web.ItemID, 1, true);
//Database.SobekCM_Database.Add_User_BibID_Link(user.UserID, item.Behaviors.GroupID);
//Database.SobekCM_Database.Add_Item_To_User_Folder(user.UserID, "Submitted Items", item.BibID, item.VID, 0, String.Empty, Tracer);
// Save Bib_Level METS?
//SobekCM.Resource_Object.Writers.OAI_Writer oaiWriter = new SobekCM.Resource_Object.Writers.OAI_Writer();
//oaiWriter.Save_OAI_File(bibPackage, resource_folder + "\\oai_dc.xml", bibPackage.Processing_Parameters.Collection_Primary.ToLower(), createDate);
List<string> collectionnames = new List<string>();
//// Get the collection names
//if (item.Processing_Parameters.Collection_Primary.Length > 0)
//{
// DataRow[] primCode = Collection_Codes.Select("collectioncode = '" + item.Processing_Parameters.Collection_Primary + "'");
// if (primCode.Length > 0)
// {
// collectionnames.Add(primCode[0]["ShortName"].ToString());
// }
//}
//foreach (string altCollection in bibPackage.Processing_Parameters.Collections_Alternate)
//{
// DataRow[] altCode = Collection_Codes.Select("collectioncode = '" + altCollection + "'");
// if (altCode.Length > 0)
// {
// collectionnames.Add(altCode[0]["ShortName"].ToString());
// }
//}
示例7: complete_item_submission
private bool complete_item_submission(SobekCM_Item Item_To_Complete, Custom_Tracer Tracer)
{
// Set an initial flag
criticalErrorEncountered = false;
bool xml_found = false;
// This package is good to go, so build it, save, etc...
try
{
// Save the METS file to the database and back to the directory
Item_To_Complete.Source_Directory = userInProcessDirectory;
// Now, add the TEI file
SobekCM_File_Info tei_newFile = new SobekCM_File_Info(Path.GetFileName(new_tei_file));
string tei_label = Path.GetFileName(new_tei_file) + " (TEI)";
Item_To_Complete.Divisions.Download_Tree.Add_File(tei_newFile, tei_label);
// Save to the database
try
{
SobekCM_Item_Updater.Update_Item(Item_To_Complete, RequestSpecificValues.Current_User, out error_message);
CachedDataManager.Items.Remove_Digital_Resource_Object(RequestSpecificValues.Current_User.UserID, Item_To_Complete.BibID, Item_To_Complete.VID, null);
// Also clear the engine
SobekEngineClient.Items.Clear_Item_Cache(Item_To_Complete.BibID, Item_To_Complete.VID, RequestSpecificValues.Tracer);
}
catch (Exception ee)
{
StreamWriter writer = new StreamWriter(userInProcessDirectory + "\\exception.txt", false);
writer.WriteLine("ERROR CAUGHT WHILE SAVING NEW DIGITAL RESOURCE");
writer.WriteLine(DateTime.Now.ToString());
writer.WriteLine();
writer.WriteLine(ee.Message);
writer.WriteLine(ee.StackTrace);
writer.Flush();
writer.Close();
throw;
}
// Assign the file root and assoc file path
Item_To_Complete.Web.File_Root = Item_To_Complete.BibID.Substring(0, 2) + "\\" + Item_To_Complete.BibID.Substring(2, 2) + "\\" + Item_To_Complete.BibID.Substring(4, 2) + "\\" + Item_To_Complete.BibID.Substring(6, 2) + "\\" + Item_To_Complete.BibID.Substring(8, 2);
Item_To_Complete.Web.AssocFilePath = Item_To_Complete.Web.File_Root + "\\" + Item_To_Complete.VID + "\\";
// Save the item settings
SobekCM_Item_Database.Set_Item_Setting_Value(Item_To_Complete.Web.ItemID, "TEI.Source_File", Path.GetFileName(new_tei_file));
SobekCM_Item_Database.Set_Item_Setting_Value(Item_To_Complete.Web.ItemID, "TEI.CSS", css_file);
SobekCM_Item_Database.Set_Item_Setting_Value(Item_To_Complete.Web.ItemID, "TEI.Mapping", mapping_file);
// Find the actual XSLT file
string xslt_directory = Path.Combine(UI_ApplicationCache_Gateway.Settings.Servers.Application_Server_Network, "plugins", "tei", "xslt");
string[] xslt_files = Directory.GetFiles(xslt_directory, xslt_file + ".xsl*");
SobekCM_Item_Database.Set_Item_Setting_Value(Item_To_Complete.Web.ItemID, "TEI.XSLT", Path.GetFileName(xslt_files[0]));
// Add the TEI viewer
SobekCM_Item_Database.Save_Item_Add_Viewer(Item_To_Complete.Web.ItemID, "TEI", new_tei_file.Replace(".xml", "").Replace(".XML", "") + " (TEI)", new_tei_file);
// Create the static html pages
string base_url = RequestSpecificValues.Current_Mode.Base_URL;
try
{
Static_Pages_Builder staticBuilder = new Static_Pages_Builder(UI_ApplicationCache_Gateway.Settings.Servers.System_Base_URL, UI_ApplicationCache_Gateway.Settings.Servers.Base_Data_Directory, RequestSpecificValues.HTML_Skin.Skin_Code);
string filename = userInProcessDirectory + "\\" + Item_To_Complete.BibID + "_" + Item_To_Complete.VID + ".html";
staticBuilder.Create_Item_Citation_HTML(Item_To_Complete, filename, String.Empty);
// Copy the static HTML file to the web server
try
{
if (!Directory.Exists(UI_ApplicationCache_Gateway.Settings.Servers.Static_Pages_Location + item.BibID.Substring(0, 2) + "\\" + item.BibID.Substring(2, 2) + "\\" + item.BibID.Substring(4, 2) + "\\" + item.BibID.Substring(6, 2) + "\\" + item.BibID.Substring(8)))
Directory.CreateDirectory(UI_ApplicationCache_Gateway.Settings.Servers.Static_Pages_Location + item.BibID.Substring(0, 2) + "\\" + item.BibID.Substring(2, 2) + "\\" + item.BibID.Substring(4, 2) + "\\" + item.BibID.Substring(6, 2) + "\\" + item.BibID.Substring(8));
if (File.Exists(userInProcessDirectory + "\\" + item.BibID + "_" + item.VID + ".html"))
File.Copy(userInProcessDirectory + "\\" + item.BibID + "_" + item.VID + ".html", UI_ApplicationCache_Gateway.Settings.Servers.Static_Pages_Location + item.BibID.Substring(0, 2) + "\\" + item.BibID.Substring(2, 2) + "\\" + item.BibID.Substring(4, 2) + "\\" + item.BibID.Substring(6, 2) + "\\" + item.BibID.Substring(8) + "\\" + item.BibID + "_" + item.VID + ".html", true);
}
catch (Exception)
{
// This is not critical
}
}
catch (Exception)
{
// An error here is not catastrophic
}
RequestSpecificValues.Current_Mode.Base_URL = base_url;
// Save the rest of the metadata
Item_To_Complete.Save_SobekCM_METS();
// Create the options dictionary used when saving information to the database, or writing MarcXML
Dictionary<string, object> options = new Dictionary<string, object>();
if (UI_ApplicationCache_Gateway.Settings.MarcGeneration != null)
{
options["MarcXML_File_ReaderWriter:MARC Cataloging Source Code"] = UI_ApplicationCache_Gateway.Settings.MarcGeneration.Cataloging_Source_Code;
options["MarcXML_File_ReaderWriter:MARC Location Code"] = UI_ApplicationCache_Gateway.Settings.MarcGeneration.Location_Code;
options["MarcXML_File_ReaderWriter:MARC Reproduction Agency"] = UI_ApplicationCache_Gateway.Settings.MarcGeneration.Reproduction_Agency;
options["MarcXML_File_ReaderWriter:MARC Reproduction Place"] = UI_ApplicationCache_Gateway.Settings.MarcGeneration.Reproduction_Place;
options["MarcXML_File_ReaderWriter:MARC XSLT File"] = UI_ApplicationCache_Gateway.Settings.MarcGeneration.XSLT_File;
}
options["MarcXML_File_ReaderWriter:System Name"] = UI_ApplicationCache_Gateway.Settings.System.System_Name;
options["MarcXML_File_ReaderWriter:System Abbreviation"] = UI_ApplicationCache_Gateway.Settings.System.System_Abbreviation;
//.........这里部分代码省略.........
示例8: complete_item_submission
//.........这里部分代码省略.........
// Add each file
foreach (string thisFile in theseFiles)
{
// Create the new file object and compute a label
FileInfo fileInfo = new FileInfo(thisFile);
SobekCM_File_Info newFile = new SobekCM_File_Info(fileInfo.Name);
string label = fileInfo.Name.Replace( fileInfo.Extension, "");
if (HttpContext.Current.Session["file_" + item.Web.ItemID + "_" + thisFileKey] != null)
{
string possible_label = HttpContext.Current.Session["file_" + item.Web.ItemID + "_" + thisFileKey].ToString();
if (possible_label.Length > 0)
label = possible_label;
}
// Add this file
Item_To_Complete.Divisions.Download_Tree.Add_File(newFile, label);
}
}
// Add the JPEG2000 and JPEG-specific viewers
item.Behaviors.Clear_Views();
if (jpeg_added)
{
item.Behaviors.Add_View(SobekCM.Resource_Object.Behaviors.View_Enum.JPEG);
}
if (jp2_added)
{
item.Behaviors.Add_View(SobekCM.Resource_Object.Behaviors.View_Enum.JPEG2000);
}
// Determine the total size of the package before saving
string[] all_files_final = Directory.GetFiles(digitalResourceDirectory);
double size = all_files_final.Aggregate<string, double>(0, (current, thisFile) => current + (((new FileInfo(thisFile)).Length)/1024));
Item_To_Complete.DiskSize_MB = size;
// Save to the database
try
{
SobekCM_Database.Save_Digital_Resource( Item_To_Complete );
SobekCM_Database.Save_Behaviors(Item_To_Complete, Item_To_Complete.Behaviors.Text_Searchable, false);
}
catch (Exception ee)
{
StreamWriter writer = new StreamWriter(digitalResourceDirectory + "\\exception.txt", false);
writer.WriteLine( "ERROR CAUGHT WHILE SAVING DIGITAL RESOURCE");
writer.WriteLine( DateTime.Now.ToString());
writer.WriteLine();
writer.WriteLine( ee.Message );
writer.WriteLine( ee.StackTrace );
writer.Flush();
writer.Close();
throw;
}
// Assign the file root and assoc file path
Item_To_Complete.Web.File_Root = Item_To_Complete.BibID.Substring(0, 2) + "\\" + Item_To_Complete.BibID.Substring(2, 2) + "\\" + Item_To_Complete.BibID.Substring(4, 2) + "\\" + Item_To_Complete.BibID.Substring(6, 2) + "\\" + Item_To_Complete.BibID.Substring(8, 2);
Item_To_Complete.Web.AssocFilePath = Item_To_Complete.Web.File_Root + "\\" + Item_To_Complete.VID + "\\";
// Create the static html pages
string base_url = currentMode.Base_URL;
try
{
Static_Pages_Builder staticBuilder = new Static_Pages_Builder(SobekCM_Library_Settings.System_Base_URL, SobekCM_Library_Settings.Base_Data_Directory, Translator, codeManager, itemList, iconList, webSkin);
string filename = digitalResourceDirectory + "\\" + Item_To_Complete.BibID + "_" + Item_To_Complete.VID + ".html";
staticBuilder.Create_Item_Citation_HTML(Item_To_Complete, filename, String.Empty);
}
catch (Exception ee)
{
string error = ee.Message;
}
currentMode.Base_URL = base_url;
// Save the rest of the metadata
Item_To_Complete.Save_SobekCM_METS();
// Finally, set the item for more processing if there were any files
if (((image_files.Count > 0) || (download_files.Count > 0)) && ( Item_To_Complete.Web.ItemID > 0 ))
{
Database.SobekCM_Database.Update_Additional_Work_Needed_Flag(Item_To_Complete.Web.ItemID, true, Tracer);
}
}
catch (Exception ee)
{
validationErrors.Add("Error encountered during item save!");
validationErrors.Add(ee.ToString().Replace("\r", "<br />"));
// Set an initial flag
criticalErrorEncountered = true;
string error_body = "<strong>ERROR ENCOUNTERED DURING ONLINE FILE MANAGEMENT</strong><br /><br /><blockquote>Title: " + Item_To_Complete.Bib_Info.Main_Title.Title + "<br />Permanent Link: <a href=\"" + base.currentMode.Base_URL + "/" + Item_To_Complete.BibID + "/" + Item_To_Complete.VID + "\">" + base.currentMode.Base_URL + "/" + Item_To_Complete.BibID + "/" + Item_To_Complete.VID + "</a><br />User: " + user.Full_Name + "<br /><br /></blockquote>" + ee.ToString().Replace("\n", "<br />");
string error_subject = "Error during file management for '" + Item_To_Complete.Bib_Info.Main_Title.Title + "'";
string email_to = SobekCM_Library_Settings.System_Error_Email;
if (email_to.Length == 0)
email_to = SobekCM_Library_Settings.System_Email;
Database.SobekCM_Database.Send_Database_Email(email_to, error_subject, error_body, true, false, -1);
}
return criticalErrorEncountered;
}
示例9: complete_item_submission
private void complete_item_submission(SobekCM_Item Item_To_Complete, Custom_Tracer Tracer)
{
// If this is a newspaper type, and the pubdate has a value, try to use that for the serial heirarchy
if ((Item_To_Complete.Behaviors.Serial_Info.Count == 0) && (Item_To_Complete.Bib_Info.Origin_Info.Date_Issued.Length > 0) && (Item_To_Complete.Bib_Info.SobekCM_Type == TypeOfResource_SobekCM_Enum.Newspaper ))
{
DateTime asDateTime;
if (DateTime.TryParse(Item_To_Complete.Bib_Info.Origin_Info.Date_Issued, out asDateTime))
{
hierarchyCopiedFromDate = true;
Item_To_Complete.Behaviors.Serial_Info.Add_Hierarchy(1, asDateTime.Year, asDateTime.Year.ToString());
switch (asDateTime.Month)
{
case 1:
Item_To_Complete.Behaviors.Serial_Info.Add_Hierarchy(2, asDateTime.Month, "January");
break;
case 2:
Item_To_Complete.Behaviors.Serial_Info.Add_Hierarchy(2, asDateTime.Month, "February");
break;
case 3:
Item_To_Complete.Behaviors.Serial_Info.Add_Hierarchy(2, asDateTime.Month, "March");
break;
case 4:
Item_To_Complete.Behaviors.Serial_Info.Add_Hierarchy(2, asDateTime.Month, "April");
break;
case 5:
Item_To_Complete.Behaviors.Serial_Info.Add_Hierarchy(2, asDateTime.Month, "May");
break;
case 6:
Item_To_Complete.Behaviors.Serial_Info.Add_Hierarchy(2, asDateTime.Month, "June");
break;
case 7:
Item_To_Complete.Behaviors.Serial_Info.Add_Hierarchy(2, asDateTime.Month, "July");
break;
case 8:
Item_To_Complete.Behaviors.Serial_Info.Add_Hierarchy(2, asDateTime.Month, "August");
break;
case 9:
Item_To_Complete.Behaviors.Serial_Info.Add_Hierarchy(2, asDateTime.Month, "September");
break;
case 10:
Item_To_Complete.Behaviors.Serial_Info.Add_Hierarchy(2, asDateTime.Month, "October");
break;
case 11:
Item_To_Complete.Behaviors.Serial_Info.Add_Hierarchy(2, asDateTime.Month, "November");
break;
case 12:
Item_To_Complete.Behaviors.Serial_Info.Add_Hierarchy(2, asDateTime.Month, "December");
break;
}
Item_To_Complete.Behaviors.Serial_Info.Add_Hierarchy(3, asDateTime.Day, asDateTime.Day.ToString());
}
}
// Determine the in process directory for this
string user_in_process_directory = UI_ApplicationCache_Gateway.Settings.Servers.In_Process_Submission_Location + "\\" + RequestSpecificValues.Current_User.UserName.Replace(".", "").Replace("@", "") + "\\newitem";
if (RequestSpecificValues.Current_User.ShibbID.Trim().Length > 0)
user_in_process_directory = UI_ApplicationCache_Gateway.Settings.Servers.In_Process_Submission_Location + "\\" + RequestSpecificValues.Current_User.ShibbID + "\\newitem";
// Ensure this directory exists
if (!Directory.Exists(user_in_process_directory))
Directory.CreateDirectory(user_in_process_directory);
// Now, delete all the files in the processing directory
string[] all_files = Directory.GetFiles(user_in_process_directory);
foreach (string thisFile in all_files)
{
File.Delete(thisFile);
}
// Save to the database
Item_To_Complete.Web.File_Root = Item_To_Complete.BibID.Substring(0, 2) + "\\" + Item_To_Complete.BibID.Substring(2, 2) + "\\" + Item_To_Complete.BibID.Substring(4, 2) + "\\" + Item_To_Complete.BibID.Substring(6, 2) + "\\" + Item_To_Complete.BibID.Substring(8, 2);
SobekCM_Item_Database.Save_New_Digital_Resource(Item_To_Complete, false, false, RequestSpecificValues.Current_User.UserName, String.Empty, -1);
// Assign the file root and assoc file path
Item_To_Complete.Web.AssocFilePath = Item_To_Complete.Web.File_Root + "\\" + Item_To_Complete.VID + "\\";
// Create the static html pages
string base_url = RequestSpecificValues.Current_Mode.Base_URL;
// Save the rest of the metadata
Item_To_Complete.Source_Directory = user_in_process_directory;
Item_To_Complete.Save_SobekCM_METS();
// Add this to the cache
UI_ApplicationCache_Gateway.Items.Add_SobekCM_Item(Item_To_Complete);
Database.SobekCM_Database.Add_Item_To_User_Folder(RequestSpecificValues.Current_User.UserID, "Submitted Items", Item_To_Complete.BibID, Item_To_Complete.VID, 0, String.Empty, Tracer);
//.........这里部分代码省略.........