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