/// <summary> /// AUTHOR: Ashok Kolwal /// COMPANY: VITRANA /// Version: 1.0 /// Description: Creating a folder is similar to creating a cabinet. The essential differences are that you will /// create a dm_folder object and identify the parent cabinet or folder in which you’llcreate it /// Last Modified date: 11 Jul,2017 /// </summary> /// <param name="sessionManager"></param> /// <param name="repositoryName"></param> /// <param name="folderName"></param> /// <param name="parentName"></param> /// <returns></returns> public Boolean MakeFolder(IDfSessionManager sessionManager, String repositoryName, String folderName, String parentName) { IDfSession mySession = null; try { mySession = sessionManager.getSession(repositoryName); IDfSysObject newFolder = (IDfFolder)mySession.newObject(DM_FOLDER); IDfFolder aFolder = mySession.getFolderByPath(parentName + "/" + folderName); if (aFolder == null) { newFolder.setObjectName(folderName); newFolder.link(parentName); newFolder.save(); return(true); } else { return(false); } } catch (Exception ex) { Console.WriteLine("Error while creating Folder: " + ex.Message + "\n StackTrace: " + ex.StackTrace); return(false); } finally { sessionManager.release(mySession); } }
/// <summary> /// AUTHOR: Ashok Kolwal /// COMPANY: VITRANA /// Version: 1.0 /// Description: A document object represents both the content of a document and the metadata that describe the document. /// In most cases, you create a document by importing an existing document from a local source to the repository /// Last Modified date: 11 Jul,2017 /// </summary> /// <param name="sessionManager">The session manager object</param> /// <param name="repositoryName">The repository name </param> /// <param name="documentName">The document name of document which will visible on documentum server</param> /// <param name="documentType">Document extension</param> /// <param name="sourcePath">Input file local machine path e.g D:\test1.txt</param> /// <param name="folderName">/CabinetName/FolderName e.g /dmadmin/TransformPV</param> /// <returns>IDFId</returns> public List <UploadDocumentEntity> MakeDocument(IDfSessionManager sessionManager, String repositoryName, String folderPath, String documentInputFolderPath) { List <UploadDocumentEntity> docList = new List <UploadDocumentEntity>(); try { // Upload files form local drive folder. if (Directory.Exists(documentInputFolderPath)) { string[] documentList = Directory.GetFiles(documentInputFolderPath); if (documentList != null && documentList.Length > 0) { IDfSession mySession = sessionManager.getSession(repositoryName); // Console.WriteLine("[MakeDocument] IDfSession instance is created"); try { string idfID = null; string documentFullName = null; string documentName = null; string docExtension = null; string documentType = null; for (int i = 0; i < documentList.Length; i++) { try { // Get file individual file for Input document directory. documentFullName = documentList[i]; documentName = Path.GetFileNameWithoutExtension(documentFullName); docExtension = Path.GetExtension(documentFullName); documentType = GetFileMetaData(documentFullName)[0]; FileInfo fileInfo = new FileInfo(documentFullName); IDfSysObject newDoc = (IDfSysObject)mySession.newObject(DM_DOCUMENT); newDoc.setObjectName(documentName); newDoc.setContentType(documentType); newDoc.setFile(documentFullName); //-- /CabinetName/FolderName newDoc.link(folderPath); newDoc.save(); idfID = newDoc.getObjectId().getId(); //////////////////////////////////////////////// // IDfApplyExecSQL execSQL = DfAdminCommand.getCommand(__Fields.APPLY_EXEC_SQL); // IDfApplyExecSQL execSQL =(IDfApplyExecSQL) DfAdminCommand.getCommand(109); // execSQL.setQuery("DM_DOCUMENT where r_object_id='"+idfID+"'"); // IDfCollection sqlResult= execSQL.execute(mySession); // Type t= sqlResult.GetType(); /////////////////////////////////////////////////// // Set out param value. UploadDocumentEntity uploadDocObj = new UploadDocumentEntity(); uploadDocObj.IdfID = idfID; uploadDocObj.IdfPath = newDoc.getPath(0); uploadDocObj.DocumentName = string.Concat(documentName, docExtension); uploadDocObj.Status = 1; uploadDocObj.ExceptionMessage = null; docList.Add(uploadDocObj); } catch (Exception ex) { UploadDocumentEntity uploadDocObj = new UploadDocumentEntity(); uploadDocObj.IdfID = idfID; uploadDocObj.DocumentName = string.Concat(documentName, docExtension); uploadDocObj.Status = 0; uploadDocObj.ExceptionMessage = ServiceBase.GetExceptionMessage(ex); docList.Add(uploadDocObj); } } } catch (Exception ex) { throw new Exception("[MakeDocument] Error while get sessionManager.getSession() :" + ex.Message, ex); } finally { sessionManager.release(mySession); } } else { throw new Exception("[MakeDocument] InputDocumentPath folder does not have files for upload in documentum"); } } else { throw new Exception("[MakeDocument] InputDocumentPath does not exists..."); } } catch (Exception ex) { throw new Exception("[MakeDocument] GeneralException: " + ex.Message); } return(docList); }