示例#1
0
 public Node GetNode(string ownerId, string path, string name)
 {
     CheckPath(ref path);
     CheckName(name);
     Domain.Node node = GetNodes(ownerId, path, name).FirstOrDefault();
     return(node);
 }
示例#2
0
        public void AddedChildHasTheSameName()
        {
            var node1 = new Domain.Node(new Element("dd"))
            {
                Id = 1
            };
            var element = new Element("Test Event");
            var node2   = new Node(element);

            node1.AddChild(node2);

            var addedNode = node1.GetChildren().First();

            Assert.AreEqual(addedNode.Title, node2.Title);
        }
示例#3
0
 private Domain.Node DoDeleteNode(Domain.Node node)
 {
     if (node is FolderNode)
     {
         _panDbContext.Database.ExecuteSqlCommand($"update p_Node set isDeleted=1" +
                                                  $" from p_Node where ownerId='{node.OwnerId}' and (" +
                                                  $"path like '{node.FullPath}%' or id='{node.Id}')");
     }
     else
     {
         node.Delete();
         _panDbContext.SaveChanges();
     }
     return(node);
 }
示例#4
0
        public void AddChildAsNewObject()
        {
            var node1 = new Domain.Node(new Element("dd"))
            {
                Id = 1
            };
            var node2 = new Domain.Node(new Element("ff"))
            {
                Id = 2
            };

            node1.AddChild(node2);

            Assert.AreNotEqual(node1.GetChildren().First().Id, 2);
            Assert.AreNotEqual(node1.GetChildren().First(), node2);
        }
示例#5
0
        public void AddedChildHasCopiedChildren()
        {
            var node1 = new Domain.Node(new Element("dd"));
            var node2 = new Domain.Node(new Element("ff"));
            var node3 = new Domain.Node(new Element("cc"));
            var node4 = new Domain.Node(new Element("32"));

            node2.AddChild(node3);
            node2.AddChild(node4);
            node1.AddChild(node2);

            var firstLevelChild  = node1.GetChildren().First();
            var secondLevelChild = firstLevelChild.GetChildren().First();

            Assert.AreEqual(node1.GetChildren().Count(), 1);
            Assert.AreEqual(firstLevelChild.GetChildren().Count(), 2);
            Assert.AreEqual(secondLevelChild.GetChildren().Count(), 0);
        }
示例#6
0
        public string GetAppId(string fileId)
        {
            Domain.Node node = GetNode <FileNode>(fileId);
            QuotaLog    log  = null;

            while (log == null && node != null)
            {
                log = _panDbContext.QuotaLogs.FirstOrDefault(ql => ql.FileId == node.Id);
                if (log == null)
                {
                    //如果是CopyFolder产生的文件,只会存Folder的id,这里不断往上层遍历至该Folder
                    node = GetNode <FolderNode>(node.OwnerId, node.Path);
                }
            }
            if (log == null)
            {
                throw new Exception("无法在Log表中找到该文件的AppId");
            }
            return(log.AppId);
        }
示例#7
0
        public void AddedChildCopyingParams()
        {
            var node1 = new Domain.Node(new Element("dd"))
            {
                Id = 1
            };
            var element = new Element("Test Event");

            element.Params.Add(new Param("first", "firstValue"));
            var node2 = new Node(element);

            node2.AddParam(new Param("second", "secondValue"));

            node1.AddChild(node2);

            var addedNode = node1.GetChildren().First();

            Assert.AreEqual(addedNode.GetParams().Count(), 2);
            Assert.IsTrue(addedNode.GetParams().Any(x => x.Key == "first"));
            Assert.IsTrue(addedNode.GetParams().Any(x => x.Key == "second"));
        }
示例#8
0
        /// <summary>
        /// 递归拷贝目录
        /// </summary>
        /// <param name="node"></param>
        /// <param name="newFolder"></param>
        /// <param name="newName"></param>
        /// <returns></returns>
        private Domain.Node DoCopyNode(Domain.Node node,
                                       FolderNode newFolder,
                                       string newName = null)
        {
            var newNode = node.Clone(newFolder, newName);

            if (node is FolderNode folderNode)
            {
                AttachChildren(folderNode);
                foreach (var item in folderNode.SubFolders)
                {
                    DoCopyNode(item, (FolderNode)newNode);
                }
                foreach (var item in folderNode.Files)
                {
                    DoCopyNode(item, (FolderNode)newNode);
                }
            }

            _panDbContext.Nodes.Add(newNode);
            return(newNode);
        }
 public BlockController(ITransactionQuery transactionQuery, IBlockQuery blockQuery, Domain.Node node)
 {
     TransactionQuery = transactionQuery;
     BlockQuery       = blockQuery;
     Node             = node;
 }
 public TransactionController(Domain.Node node, ITransactionQuery transactionQuery)
 {
     Node             = node;
     TransactionQuery = transactionQuery;
 }
 public MiningController(Domain.Node node, IMineQuery mineQuery)
 {
     Node      = node;
     MineQuery = mineQuery;
 }