Example #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 GoodsClass(Int32 itemId, String shortName, String fullName, String commonName, GoodsClass parent) : this()
        {
            ItemId     = itemId;
            ShortName  = shortName;
            FullName   = fullName;
            CommonName = commonName;
            _parent    = parent;

            if (parent != null)
            {
                //Выставление пред. узла на данном уровне для тек. узла
                GoodsClass 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);
        }
Example #2
0
        public override int GetHashCode()
        {
            var componentClassHash = GoodsClass.GetHashCode();
            var fullNameHash       = FullName.GetHashCode();
            var partNumberHash     = PartNumber.GetHashCode();
            var descriptionHash    = Description.GetHashCode();

            return(componentClassHash ^ fullNameHash ^ partNumberHash ^ descriptionHash);
        }