示例#1
0
 public void CopyFromSourceWord(Stage3ResultElement sourceWord)
 {
     base.CopyFromSourceWord(sourceWord);
     AddedWordsCase1 = sourceWord.AddedWordsCase1;
     AddedWordsCase2 = sourceWord.AddedWordsCase2;
 }
示例#2
0
        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);
            }
        }