SIL.FieldWorks.FdoUi.CmObjectUi.ReallyMergeUnderlyingObject C# (CSharp) Method

ReallyMergeUnderlyingObject() protected method

Merge the underling objects. This method handles the transaction, then delegates the actual merge to MergeObject. If the flag is true, we merge strings and owned atomic objects; otherwise, we don't change any that aren't null to begin with.
protected ReallyMergeUnderlyingObject ( int survivorHvo, bool fLoseNoTextData ) : void
survivorHvo int
fLoseNoTextData bool
return void
		protected virtual void ReallyMergeUnderlyingObject(int survivorHvo, bool fLoseNoTextData)
		{
			ICmObject survivor = m_cache.ServiceLocator.GetInstance<ICmObjectRepository>().GetObject(survivorHvo);
			Logger.WriteEvent("Merging '" + Object.ShortName + "' into '" + survivor.ShortName + "'.");
			var ah = m_cache.ServiceLocator.GetInstance<IActionHandler>();
			UndoableUnitOfWorkHelper.Do(FdoUiStrings.ksUndoMerge, FdoUiStrings.ksRedoMerge, ah, () => survivor.MergeObject(Object, fLoseNoTextData));
			Logger.WriteEvent("Done Merging.");
			m_obj = null;
		}