SIL.FieldWorks.Common.Framework.DetailControls.MorphTypeAtomicLauncher.ChangeAffixToStem C# (CSharp) Méthode

ChangeAffixToStem() private méthode

Change the affix to a stem (possibly)
private ChangeAffixToStem ( ILexEntry entry, IMoMorphType type ) : bool
entry ILexEntry
type IMoMorphType
Résultat bool
		private bool ChangeAffixToStem(ILexEntry entry, IMoMorphType type)
		{
			var affix = m_obj as IMoAffixForm;
			if (affix == null)
				throw new ApplicationException("Affix form is not defined");
			var rgmsaOld = new List<IMoMorphSynAnalysis>();
			if (m_obj.OwningFlid == LexEntryTags.kflidLexemeForm)
			{
				foreach (var msa in entry.MorphoSyntaxAnalysesOC)
				{
					if (!(msa is IMoStemMsa))
						rgmsaOld.Add(msa);
				}
			}
			if (CheckForAffixDataLoss(affix, rgmsaOld))
				return false;
			FdoCache cache = m_cache;
			var stem = m_cache.ServiceLocator.GetInstance<IMoStemAllomorphFactory>().Create();
			SwapValues(entry, affix, stem, type, rgmsaOld);	// may cause slice/button to be disposed...
			return true;
		}