public static string CreateDocumentPlaceHolder( string partNumber, string assetType, string contentType,
string docType, string description)
{
string refId = null;
var asset = new AssetIdentificationBean();
DocumentDAO dao = DataManager.getDocumentDAO();
try
{
dao.StartTransaction();
//Lookup Part Number for document
string rootPartNumber = partNumber.Split( '#' )[0];
Document document = GetDocument( rootPartNumber,
(int) Enum.Parse( typeof (dbDocument.DocumentType), docType ) );
if (document == null)
{
document = new Document();
document.uuid = Guid.NewGuid().ToString();
document.name = rootPartNumber;
document.Item = ""; //Content
document.DocumentContent = Encoding.UTF8.GetBytes( document.Item );
document.ContentType = contentType ?? "";
document.Description = (description.Length>255?description.Substring( 0,254 ):description) ?? "";
document.DocumentType =
(dbDocument.DocumentType) Enum.Parse( typeof (dbDocument.DocumentType), docType );
SaveDocument( document );
}
//Add reference id to asset lookup
asset = new AssetIdentificationBean();
asset.uuid = Guid.Parse( document.uuid );
asset.assetType = assetType;
asset.assetNumber = partNumber;
asset.DataState = BASEBean.eDataState.DS_ADD;
asset.save();
refId = asset.uuid.ToString();
dao.CommitTransaction();
LogManager.Trace( "A placeholder document for \"{0}\" has been created.", partNumber );
}
catch (Exception e)
{
dao.RollbackTransaction();
LogManager.Error( e, "An Error occurred creating a document for \"{0}\"", partNumber );
}
finally
{
dao.EndTransaction();
}
return refId;
}