示例#1
0
 public References RemoveChild(Member arg)
 {
     Children.Remove(arg.Id);
     ChildrenIds.Remove(arg.Id);
     arg.Refs.ParentId = null;
     arg.Refs.Parent   = null;
     return(this);
 }
示例#2
0
 internal References AddChild(Member arg)
 {
     Children.Add(arg.Id, arg);
     ChildrenIds.Add(arg.Id);
     arg.Refs.ParentId = Source.Id;
     arg.Refs.Parent   = Source;
     return(this);
 }
        public object Clone()
        {
            Element copy = MemberwiseClone() as Element;

            copy.AttachementNames = AttachementNames.Clone() as string[];
            copy.ChildrenIds      = ChildrenIds.Clone() as string[];
            copy.Fields           = Fields.ToDictionary(entry => entry.Key,
                                                        entry => new List <string>(entry.Value));
            copy.Id    = Id.Clone() as string;
            copy.Class = Class.Clone() as string;
            return(copy);
        }
示例#4
0
        private void ParseRelations(HtmlNode postNode)
        {
            var childrenNodes = postNode.SelectNodes(@"//div[@id='has-children-relationship-preview']//article");

            if (childrenNodes != null)
            {
                foreach (var child in childrenNodes)
                {
                    var childId = int.Parse(child.Attributes["id"].Value.Substring(5));
                    if (childId == PostId)
                    {
                        continue;
                    }

                    var url = child.SelectSingleNode("*//img").Attributes["src"].Value;

                    var md5 = new Regex("[a-fA-F0-9]{32}").Match(url).Value;
                    ChildrenIds.Add($"{childId}:{md5}");
                }
            }


            var parentNodes = postNode.SelectNodes(@"//div[@id='has-parent-relationship-preview']//article");

            if (parentNodes != null)
            {
                var parent   = parentNodes[0];
                var parentId = int.Parse(parent.Attributes["id"].Value.Substring(5));

                var url = parent.SelectSingleNode("*//img").Attributes["src"].Value;

                var md5 = new Regex("[a-fA-F0-9]{32}").Match(url).Value;

                ParentId = $"{parentId}:{md5}";
            }
        }