Example #1
0
			/// <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);
				}
			}