/// <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); }
/// <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); }