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

CheckForStemDataLoss() private méthode

private CheckForStemDataLoss ( IMoStemAllomorph stem, List rgmsaStem ) : bool
stem IMoStemAllomorph
rgmsaStem List
Résultat bool
		private bool CheckForStemDataLoss(IMoStemAllomorph stem, List<IMoMorphSynAnalysis> rgmsaStem)
		{
			bool fLoseStemName = stem.StemNameRA != null;
			bool fLoseGramInfo = false;
			for (int i = 0; i < rgmsaStem.Count; ++i)
			{
				var msa = rgmsaStem[i] as IMoStemMsa;
				if (msa != null &&
					(msa.FromPartsOfSpeechRC.Count > 0 ||
					msa.InflectionClassRA != null ||
					msa.ProdRestrictRC.Count > 0 ||
					msa.StratumRA != null ||
					msa.MsFeaturesOA != null))
				{
					fLoseGramInfo = true;
					break;
				}
			}
			if (fLoseStemName || fLoseGramInfo)
			{
				string sMsg;
				if (fLoseStemName && fLoseGramInfo)
					sMsg = m_mediator.StringTbl.GetStringWithXPath("ChangeMorphTypeLoseStemNameGramInfo", m_ksPath);
				else if (fLoseStemName)
					sMsg = m_mediator.StringTbl.GetStringWithXPath("ChangeMorphTypeLoseStemName", m_ksPath);
				else
					sMsg = m_mediator.StringTbl.GetStringWithXPath("ChangeMorphTypeLoseGramInfo", m_ksPath);
				string sCaption = m_mediator.StringTbl.GetStringWithXPath("ChangeLexemeMorphTypeCaption", m_ksPath);
				DialogResult result = MessageBox.Show(sMsg, sCaption,
					MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
				if (result == DialogResult.No)
				{
					return true;
				}
			}
			return false;
		}