private void EnsureNewMsaHasSense(ILexEntry lex, IMoInflAffMsa newMsa)
{
// if no lexsense has this msa, copy first sense and have it refer to this msa
bool fASenseHasMsa = false;
foreach (var sense in lex.AllSenses)
{
if (sense.MorphoSyntaxAnalysisRA == newMsa)
{
fASenseHasMsa = true;
break;
}
}
if (!fASenseHasMsa)
{
var newSense = Cache.ServiceLocator.GetInstance<ILexSenseFactory>().Create();
lex.SensesOS.Add(newSense);
var firstSense = lex.SensesOS[0];
// only copying gloss for now and only copying default analysis ws
//newSense.Definition.AnalysisDefaultWritingSystem.Text = firstSense.Definition.AnalysisDefaultWritingSystem.Text;
newSense.Gloss.AnalysisDefaultWritingSystem = firstSense.Gloss.AnalysisDefaultWritingSystem;
//newSense.GrammarNote.AnalysisDefaultWritingSystem.Text = firstSense.GrammarNote.AnalysisDefaultWritingSystem.Text;
//newSense.SemanticsNote.AnalysisDefaultWritingSystem.Text = firstSense.SemanticsNote.AnalysisDefaultWritingSystem.Text;
newSense.MorphoSyntaxAnalysisRA = newMsa;
}
}