Exemplo n.º 1
0
        internal void Add(ReferentialBase item)
        {
            var type = item.GetType();

            if (!_entities.TryGetValue(type, out TypesIndex types))
            {
                types = new TypesIndex(this);
                _entities.Add(type, types);
            }

            TargetListIndex typeEntity = types.GetByTypename(item.TypeEntity);
            ModelIndex      dic2       = typeEntity.Get(item.TargetName);

            if (dic2.ContainsKey(item.Name))
            {
                var olditem = dic2[item.Name];

                if (olditem is INotifyPropertyChanged n1)
                {
                    n1.PropertyChanged -= N_PropertyChanged;
                }

                dic2.Set(item);
                //PropagateFileChanged(item);
                return;
            }

            dic2.Set(item);
            //PropagateFileChanged(item);

            if (item is INotifyPropertyChanged n2)
            {
                n2.PropertyChanged -= N_PropertyChanged;
            }
        }
Exemplo n.º 2
0
        public TargetListIndex GetByTypename(string typename)
        {
            if (!_items.TryGetValue(typename, out TargetListIndex result))
            {
                _items.Add(typename, (result = new TargetListIndex(this._parent, typename)));
            }

            return(result);
        }