Exemple #1
0
 public void ImportNodesArray(
     ITisDataLayerTreeNode[] NodesToImport,
     IImportObjectExistsNotify oObjectExistsNotifier)
 {
     ImportNodesCollection(
         NodesToImport as ICollection,
         oObjectExistsNotifier);
 }
Exemple #2
0
        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;
            }
        }
Exemple #3
0
 public void ImportNodesCollection(
     ICollection NodesToImport,
     IImportObjectExistsNotify oObjectExistsNotifier)
 {
     foreach (ITisDataLayerTreeNode oNodeToImport in NodesToImport)
     {
         if (oNodeToImport != null)
         {
             ImportNode(
                 oNodeToImport,
                 oObjectExistsNotifier,
                 (ITisDataLayerTreeNode[])EmptyArrays.ObjectArray);
         }
     }
 }