コード例 #1
0
ファイル: 论坛.Biz.cs プロジェクト: xiongeee/BBX
        /// <summary>获取匿名可见子论坛</summary>
        /// <returns></returns>
        public List <IXForum> GetVisibles()
        {
            var list = AllChilds.ToList().Cast <IXForum>().ToList();

            // 权限
            list = list.Where(e => e.AllowView(7)).ToList();
            // 密码
            list = list.Where(e => String.IsNullOrEmpty(e.Password)).ToList();
            // 状态
            list = list.Where(e => e.Visible).ToList();
            return(list);
        }
コード例 #2
0
        internal void Update()
        {
            WasChanges = true;

            List <DomNode> removedChilds = AllChilds.Copy();

            // список пар родитель node - node
            List <Tuple <Component, Component> > apendedNodes = new List <Tuple <Component, Component> >();

            Component[] componentChilds = Node.Render();

            // у компонента есть дети
            // BFS без чёрныx/белыx. подразумаевается, что для элементов i и j, где j>i
            // элемент i может являться предком элемента j
            // при обxоде каждого элемента, его потомки добавляются в конец
            // после BFS обновляем старые компоненты и добавляем новые
            if (componentChilds.Any())
            {
                // инициализация BFS
                foreach (Component comp in componentChilds)
                {
                    apendedNodes.Add(
                        new Tuple <Component, Component>(Node, comp)
                        );
                }

                // процесс BFS
                for (int i = 0; i < apendedNodes.Count; i++)
                {
                    Tuple <Component, Component> el = apendedNodes[i];
                    Component[] elNodeChilds        = el.Item2.Render();
                }
            }

            // удаляем всеx оставшиxся на данный момент потомков
            if (removedChilds.Any())
            {
                foreach (var rc in removedChilds)
                {
                    rc.Remove();
                }
            }
        }