/// <summary> /// Make one. /// </summary> /// <param name="ids">Set in which the ids are used to delete/recreate.</param> /// <param name="hvoList">ids in the form of a comma delimited list in a string</param> /// <param name="cache"></param> /// <param name="fRequiresFullRefreshOfViewInUndoRedo">should be true, unless you know that deleting /// the object will not require completely refreshing/sync'ing a display during undo/redo. </param> /// <param name="fUndo">flag whether to create the undo action</param> public ObjectGroupUndoItem(Set<int> ids, string hvoList, FdoCache cache, bool fRequiresFullRefreshOfViewInUndoRedo, bool fUndo) { m_cache = cache; m_ids = ids; m_fRequiresFullRefreshOfViewInUndoRedo = fRequiresFullRefreshOfViewInUndoRedo; if (fUndo && cache.ActionHandlerAccessor != null) { IInitUndoDeleteObject udo = UndoDeleteObjectActionClass.Create(); m_delObjAction = udo as IUndoAction; // mark this Com object as something that may need to be released when disposing the cache. cache.TrackComObject(udo); udo.GatherUndoInfo(hvoList, cache.DatabaseAccessor, cache.MetaDataCacheAccessor, cache.VwCacheDaAccessor); } }