Exemplo n.º 1
0
        /// <summary>
        /// Конструктор создает объект типа директивы
        /// </summary>
        /// <param name="itemId"></param>
        /// <param name="shortName"></param>
        /// <param name="fullName"></param>
        /// <param name="commonName"></param>
        /// <param name="parent">Родительский узел</param>
        private SupplierClass(int itemId, string shortName, string fullName, string commonName, SupplierClass parent) : this()
        {
            ItemId     = itemId;
            ShortName  = shortName;
            FullName   = fullName;
            CommonName = commonName;
            _parent    = parent;

            if (parent != null)
            {
                //Выставление пред. узла на данном уровне для тек. узла
                SupplierClass prevNode = parent.Children.Count > 0
                                                                                        ? parent.Children[parent.Children.Count - 1]
                                                                                        : null;
                _prev = prevNode;

                //Для пред. узла на данном уровне - выставление след. узла

                if (prevNode != null)
                {
                    prevNode._next = this;
                }

                //добавление нового дочернего узла в родительский узел
                parent.Children.Add(this);
            }
            _Items.Add(this);
        }
Exemplo n.º 2
0
 /// <summary>
 /// Конструктор создает объект типа директивы
 /// </summary>
 /// <param name="itemId"></param>
 /// <param name="shortName"></param>
 /// <param name="fullName"></param>
 /// <param name="commonName"></param>
 private SupplierClass(int itemId, string shortName, string fullName, string commonName)
     : this(itemId, shortName, fullName, commonName, null)
 {
     if (_roots.Count > 0)
     {
         _prev = _roots[_roots.Count - 1];
         _roots[_roots.Count - 1]._next = this;
     }
     _roots.Add(this);
 }