/// <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); }