コード例 #1
0
        /// <summary>
        /// Проверка, что текущее подпредложение должно быть частью предыдущего подпредложения
        /// </summary>
        /// <param name="previous">предыдущее подпредложение</param>
        /// <returns>результат проверки</returns>
        private bool IsCurrentPartOfPrevious(SubSentenceInfo previous)
        {
            #region [.defense.]
            if (CurrentSubSentence.IsContainConjunction)
            {
                throw new InvalidOperationException("Current subsentence have conjunction");
            }
            #endregion

            bool result = false;
            switch (previous.SubSentence.Type)
            {
            case SubSentenceType.DanglingParticiple:
            case SubSentenceType.Participial:
                result = !(CurrentSubSentence.IsExistVerb() || CurrentSubSentence.IsExistSubject());
                break;

            case SubSentenceType.Default:
            case SubSentenceType.Subordinate:
                result = !(CurrentSubSentence.IsExistVerb() && previous.IsExistVerb()) &&
                         !((CurrentSubSentence.IsHasLingvisticEntity() || CurrentSubSentence.SubSentence.Children.Any()) &&
                           (previous.IsHasLingvisticEntity() || previous.SubSentence.Children.Any()));
                break;
            }
            return(result);
        }