Beispiel #1
0
 /// <summary>
 /// Пересоздает монитор, если его небыло. Старый Dispose(). Присоеденяет текущую коллекцию  к монитору
 /// </summary>
 public EntityCollection <TEntity> Trackable()
 {
     Monitor?.Dispose();
     SetMonitor(new EntityStateMonitor());
     Monitor?.Apply(Items);
     return(this);
 }
 /// <summary>
 /// Пересоздает монитор, если его небыло. Атачит сущьность к монитору.
 /// </summary>
 public BaseEntity Trackable()
 {
     Monitor?.Dispose();
     SetMonitor(new EntityStateMonitor());
     Monitor?.Apply(this);
     return(this);
 }
Beispiel #3
0
        /// <summary>
        /// Вставить новую сущьность.
        /// </summary>
        /// <param name="index">Индекс.</param>
        /// <param name="item">Сущьность.</param>
        protected override void InsertItem(int index, TEntity item)
        {
            if (Monitor != null)
            {
                if (!Monitor.EntitySet.ContainsKey(item))
                {
                    Monitor.Apply(item);
                    item.State = EntityState.New;

                    Monitor.IsChanged = true;
                }
            }

            base.InsertItem(index, item);
            Monitor?.OnEntityChanged(item);
        }