Ejemplo n.º 1
0
        public IsValidValidationContext(IModelScheme modelScheme, ReferenceLoopProtectionSettings referenceLoopProtectionSettings)
        {
            _modelScheme = modelScheme;

            ReferenceLoopProtectionSettings = referenceLoopProtectionSettings;

            if (!(referenceLoopProtectionSettings is null))
            {
                _referencesLoopProtectionEnabled = true;

                _referencesStack = new ReferencesStack();

                if (_modelScheme.RootModelType.IsClass && !(referenceLoopProtectionSettings.RootModelReference is null))
                {
                    _ = _referencesStack.TryPush(_modelScheme.RootSpecificationScopeId, string.Empty, referenceLoopProtectionSettings.RootModelReference, out _);
                }
            }
        }
Ejemplo n.º 2
0
        public ValidationContext(IModelScheme modelScheme, bool failFast, ReferenceLoopProtectionSettings referenceLoopProtectionSettings)
        {
            _modelScheme = modelScheme;

            FailFast = failFast;

            ReferenceLoopProtectionSettings = referenceLoopProtectionSettings;

            if (!(referenceLoopProtectionSettings is null))
            {
                _referencesLoopProtectionEnabled = true;

                _referencesStack = new ReferencesStack();

                if (_modelScheme.RootModelType.IsClass && !(referenceLoopProtectionSettings.RootModelReference is null))
                {
                    _referencesStack.TryPush(_modelScheme.RootSpecificationScopeId, GetCurrentPath(), referenceLoopProtectionSettings.RootModelReference, out _);
                }
            }
        }