public IDisposable Subscribe(IStockObserver observer) { if (!_observers.Contains(observer)) { _observers.Add(observer); } return(new Unsubscriber(_observers, observer)); }
private void StockTicker_Load(object sender, EventArgs e) { //resolve and instintiate type using Unity Investor = container.Resolve <StockInvestor>("Investor1"); //resolve and instintiate type using Unity WatchedStocks = container.Resolve <StockPriceService>(); (Investor as StockInvestor).OnPriceChange += OnPriceChange; }
public StartUp() { IUnityContainer unitycontainer = new UnityContainer(); unitycontainer.RegisterType <IMailMessageFactory, MailMessageFactory>(); unitycontainer.RegisterType <ISmtpClientFactory, SmtpClientFactory>(); unitycontainer.RegisterType <IEmailAlertService, EmailAlertService>(); unitycontainer.RegisterType <INotificationService, NotificationService>(); unitycontainer.RegisterType <IStockObserver, StockObserver>(); _notificationService = unitycontainer.Resolve <NotificationService>(); _stockObserver = unitycontainer.Resolve <StockObserver>(); }
public void Subscribe(IStockObserver observer, string Stock) { //if the investor just subscribed, then add it to the dictionary with the desired stcik if (!InvestorsMap.ContainsKey(observer)) { var InvestorList = new List <string>(); InvestorList.Add(Stock); InvestorsMap.Add(observer, InvestorList); } else //the investor already subscribed for another stock, just add it to the new one. { //make sure the investor is not already subscribed if (!InvestorsMap[observer].Contains(Stock)) { InvestorsMap[observer].Add(Stock); } } }
//unsubscribe from all stocks and stop receiving notificatins public void Unsubscribe(IStockObserver observer) { InvestorsMap.Remove(observer); }
//unsubscribe from one stock only public void Unsubscribe(IStockObserver observer, string Stock) { throw new NotImplementedException(); }
public Task UnsubscribeForUpdates( IStockObserver subscriber ) { this.subscribers.Unsubscribe( subscriber ); return TaskDone.Done; }
public void RemoveObserver(IStockObserver observer) { investors.Remove(observer); }
public void AddObserver(IStockObserver observer) { investors.Add(observer); }
public void UnRegister(IStockObserver observer) { _observers.Remove(observer); }
public void Register(IStockObserver observer) { _observers.Add(observer); }
public void Detach(IStockObserver observer) { lstObservers.Remove(observer); }
public void Attach(IStockObserver observer) { lstObservers.Add(observer); }
public Unsubscriber(List <IStockObserver> observers, IStockObserver observer) { _observers = observers; _observer = observer; }