public DBConnectionFactory(IOptionsMonitor <List <DBConnectOptions> > optionsMonitor, IResponsibilityProvider <DatabaseResponsibilityContext> provider) { this._options = optionsMonitor.CurrentValue; optionsMonitor.OnChange(_ => this._options = _); this._responsibility = provider.Root; }
private bool _FindResponsibility(IResponsibility responsibility, params object[] list) { if (!responsibility.CanProcess(list)) { return(false); } responsibility.Process(list); return(true); }
public ProxyResponsibility(IEnumerable <IResponsibility <TContext> > responsibilitys) { Assert.Build(responsibilitys, nameof(responsibilitys)) .NotNull() .Then(s => s.Any(), nameof(responsibilitys)) .True(); this._proxy = responsibilitys.First(); for (var i = 1; i < responsibilitys.Count(); i++) { this.Add(responsibilitys.ElementAt(i)); } }
/// <summary> /// 添加一个新的<paramref name="responsibility"/>链条进来 /// </summary> /// <param name="responsibility"></param> public virtual void Add(IResponsibility <TContext> responsibility) { if (responsibility == null) { return; } var proxy = responsibility as ProxyResponsibility <TContext>; if (proxy == null) { proxy = new ProxyResponsibility <TContext>(responsibility); } if (this.Responsibility == null) { this.Responsibility = proxy; } else { ((ProxyResponsibility <TContext>) this.Responsibility).Add(proxy); } }
public void SetNextResponsibility(IResponsibility nextResponse) { NextIResponsibility = nextResponse; }
public void AddResponsibility(IResponsibility responsibility) { _chain.Add(responsibility); }
public ProxyResponsibility(IResponsibility <TContext> responsibility) { Assert.Build(responsibility, nameof(responsibility)) .NotNull(); this._proxy = responsibility; }