protected void Validate(IRuleSerializerRoot ruleSerializer)
        {
            if (Typicon == null || TypiconId == 0)
            {
                AddError("Версия Устава должна иметь ссылку на Устав");
            }

            //Signs
            ValidateChildCollection(Signs.Cast <RuleEntity>(), ruleSerializer, ErrorConstants.Sign, ErrorConstants.Signs, "Должен быть определен хотя бы один Знак службы");
            //CommonRules
            ValidateChildCollection(CommonRules.Cast <RuleEntity>(), ruleSerializer, ErrorConstants.CommonRule);
            //MenologyRules
            ValidateMenologyRules(ruleSerializer);
            //TriodionRules
            ValidateChildCollection(TriodionRules.Cast <RuleEntity>(), ruleSerializer, ErrorConstants.TriodionRule);
            //ExplicitAddRules
            ValidateChildCollection(ExplicitAddRules.Cast <RuleEntity>(), ruleSerializer, ErrorConstants.ExplicitAddRule);
            //Kathismas
            ValidateKathismas(ruleSerializer.TypiconSerializer);

            if (ScheduleSettings == null)
            {
                AddError("Версия Устава должна иметь Настройки дней богослужений");
            }
        }