public IMarkupStorage CreateControlScopeMarkupStorage(ControlScopeId controlScopeId) { IMarkupStorage controlMarkupStorage = new MarkupStorage(); _nestedScopeToMarkupMap.Add(controlScopeId, controlMarkupStorage); return(controlMarkupStorage); }
public void EnterControlScope(ControlScopeId controlScopeId) { var controlScopeBehavior = CurrentContext.GetNestedControlScopeContext(controlScopeId); _contextStack.Push(controlScopeBehavior); _levelOfNesting++; }
public IMarkupStorageInitializer GetOrCreateControlScopeMarkupStorage(ControlScopeId controlScopeId) { IMarkupStorageInitializer controlMarkupStorage = TryGetControlScopeMarkupStorage(controlScopeId); if (controlMarkupStorage == null) { controlMarkupStorage = CreateControlScopeMarkupStorage(controlScopeId); } return(controlMarkupStorage); }
public ControlScopeContext GetNestedControlScopeContext(ControlScopeId controlScopeId) { if (_markupStorage == null) { throw new InvalidOperationException( $"MarkupStorage for ControlContext with name=\"{_contextId.Name}\" is not defined, so nested control scope with name = \"{controlScopeId.Name} can't be found"); } var nestedControlMarkupStorage = _markupStorage.TryGetControlScopeMarkupStorage(controlScopeId) ?? _markupStorage.CreateControlScopeMarkupStorage(controlScopeId); return(new ControlScopeContext(controlScopeId, nestedControlMarkupStorage)); }
public IMarkupStorage TryGetControlScopeMarkupStorage(ControlScopeId controlScopeId) { _nestedScopeToMarkupMap.TryGetValue(controlScopeId, out var controlMarkupStorage); return(controlMarkupStorage); }
private void AddSelectionStep(ControlScopeId controlScopeId) { _selectionSteps.Push(controlScopeId); }
private bool Equals(ControlScopeId other) { return(string.Equals(Name, other.Name, StringComparison.OrdinalIgnoreCase)); }
public IScopeMappingPipe CreateControlMappingPipe(ControlScopeId controlScopeId) { return(new ScopeMappingPipe(_markupStorage.GetOrCreateControlScopeMarkupStorage(controlScopeId))); }
public IScopeContextRuntime UseControlScopeContextRuntime(ControlScopeId controlScopeId) { _scopeContextRuntime.EnterControlScope(controlScopeId); return(_scopeContextRuntime); }
public IMarkupStorageInitializer GetOrCreateControlScopeMarkupStorage(ControlScopeId controlScopeId) { return(new MultiMarkupStorageProxy(_storages .Select(v => v.GetOrCreateControlScopeMarkupStorage(controlScopeId)))); }
public ControlScopeContext(ControlScopeId contextId, [CanBeNull] IMarkupStorage markupStorage) { _markupStorage = markupStorage; _contextId = contextId; }