I am writing a small application using C # to copy a document to the My Documents folder of individuals on our DMS server.
I added the code in the list provided in "WorkSite SDK 8: Using the IMANEXT2Lib.IManRefileCmd File to Create New Documents Files".
Using this code in a WinForm application, I have no problem copying a file from the source folder to the users ’My Documents DMS folder.
However, if I use the code in the command line application /.dll or any other type of application (except WinForm) during the copying process, I get error messages;
1.
Error trying to register an event!
IManExt: an error occurred while trying to register the event!
Access is denied.
2.
, .
IManExt: , .
IManExt.LogRuleEventsCmd.1: !
IManExt.LogRuleEventsCmd.1: .
!
-% -
- , " " , WinForms, ?
, ?
!
:
public void moveToDMS(String servName, String dBName, String foldName)
{
const string SERVERNAME = servName;
const string DATABASENAME = dBName;
const string FOLDERNAME = foldName;
IManDMS dms = new ManDMSClass();
IManSession sess = dms.Sessions.Add(SERVERNAME);
sess.TrustedLogin();
IManDatabase db = sess.Databases.ItemByName(DATABASENAME);
IManFolderSearchParameters fparms = dms.CreateFolderSearchParameters();
fparms.Add(imFolderAttributeID.imFolderOwner, sess.UserID);
fparms.Add(imFolderAttributeID.imFolderName, FOLDERNAME);
ManStrings dblist = new ManStringsClass();
dblist.Add(db.Name);
IManFolders results = sess.WorkArea.SearchFolders(dblist, fparms);
if (results.Empty == true)
{
Console.WriteLine("NO RESULTS FOUND!");
}
IManDocumentFolder fldr = null;
if (results.Empty == false)
{
fldr = (IManDocumentFolder)results.ItemByIndex(1);
}
if (fldr != null)
{
string docPath = @"C:\Temp\";
string docName = "MyWord.doc";
ContextItems context = new ContextItemsClass();
ImportCmd impCmd = new ImportCmdClass();
context.Add("IManDestinationObject", fldr);
context.Add("IManExt.Import.FileName", docPath + docName);
context.Add("IManExt.Import.DocAuthor", sess.UserID);
context.Add("IManExt.Import.DocClass", "BLANK");
context.Add("IManExt.Import.DocDescription", docName);
context.Add("IManExt.NewProfile.ProfileNoUI", true);
impCmd.Initialize(context);
impCmd.Update();
if (impCmd.Status == (int)CommandStatus.nrActiveCommand)
{
impCmd.Execute();
bool brefresh = (bool)context.Item("IManExt.Refresh");
if (brefresh == true)
{
IManDocument doc = (IManDocument)context.Item("ImportedDocument");
Console.WriteLine("New document number, " + doc.Number + ", is successfully filed to " + fldr.Name + " folder.");
}
}
}
}
>