public void ImportNodesArray( ITisDataLayerTreeNode[] NodesToImport, IImportObjectExistsNotify oObjectExistsNotifier) { ImportNodesCollection( NodesToImport as ICollection, oObjectExistsNotifier); }
public void ImportNode( ITisDataLayerTreeNode oNodeToImport, IImportObjectExistsNotify oObjectExistsNotifier, ITisDataLayerTreeNode[] OptionalLinks) { try { Rare.ObjectExistsNotifier = oObjectExistsNotifier; ITisDataLayerTreeNode oImportedRootOwner = (ITisDataLayerTreeNode)((EntityBase)oNodeToImport).RootOwner; DLTNodesCopySession oMergeSession = new DLTNodesCopySession( oImportedRootOwner, (ITisDataLayerTreeNode)this.RootOwner ); oMergeSession.AddCopyRoot(oNodeToImport); oMergeSession.OnObjectExists += new ImportObjectExistsDelegate( this.oCopySession_OnObjectExists); oMergeSession.PerformCopy(false); Rare.ObjectExistsNotifier = null; ICollection oSrcObjects = oMergeSession.GetAllSourceObjects(); // Copy attachments foreach (EntityBase oSrcObj in oSrcObjects) { ITisDataLayerTreeNode oSrcNode = oSrcObj as ITisDataLayerTreeNode; ITisDataLayerTreeNode oCopiedObj = oMergeSession.GetClonedObject(oSrcObj) as ITisDataLayerTreeNode; if (oSrcNode != null && oCopiedObj != null) { CopyNodeAttachments( oSrcNode, oCopiedObj); } } } catch (Exception oExc) { Log.Write( Log.Severity.ERROR, System.Reflection.MethodInfo.GetCurrentMethod(), "Failed", oExc); Log.WriteException(oExc); throw; } }
public void ImportNodesCollection( ICollection NodesToImport, IImportObjectExistsNotify oObjectExistsNotifier) { foreach (ITisDataLayerTreeNode oNodeToImport in NodesToImport) { if (oNodeToImport != null) { ImportNode( oNodeToImport, oObjectExistsNotifier, (ITisDataLayerTreeNode[])EmptyArrays.ObjectArray); } } }