public void CopyFromSourceWord(Stage3ResultElement sourceWord) { base.CopyFromSourceWord(sourceWord); AddedWordsCase1 = sourceWord.AddedWordsCase1; AddedWordsCase2 = sourceWord.AddedWordsCase2; }
public override void ProcessSentence(Sentence sentence) { _sentence = sentence; Debug.Assert(_stage2Result != null); // TODO: объединить с main parts stage 3 foreach (var itemStage2 in _stage2Result.Items.FindAll(x => x.IsConfirmed && !x.IsConjuction)) { Stage3ResultElement item = new Stage3ResultElement(); item.CopyFromSourceWord(itemStage2); foreach (var addWord in sentence.WordList.FindAll(x => x.DOM == itemStage2.Id && x.Link.Value == LinkType.Kolichest.Value)) { SentenceWord addItem = new SentenceWord(); addItem.CopyFromSourceWord(addWord); item.AddedWordsCase1.Add(addItem); } foreach (var addWord in sentence.WordList.FindAll(x => x.DOM == itemStage2.Id && x.Link.Value == LinkType.Elekt.Value)) { SentenceWord addItem = new SentenceWord(); addItem.CopyFromSourceWord(addWord); item.AddedWordsCase2.Add(addItem); foreach (var addWord2 in sentence.WordList.FindAll(x => x.DOM == addItem.Id && x.Link.Value == LinkType.Predl.Value)) { SentenceWord addItem2 = new SentenceWord(); addItem2.CopyFromSourceWord(addWord2); item.AddedWordsCase2.Add(addItem2); } } Result.Items.Add(item); } }