Ejemplo n.º 1
0
 public IDisposable Subscribe(IStockObserver observer)
 {
     if (!_observers.Contains(observer))
     {
         _observers.Add(observer);
     }
     return(new Unsubscriber(_observers, observer));
 }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
        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>();
        }
Ejemplo n.º 4
0
 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);
         }
     }
 }
Ejemplo n.º 5
0
 //unsubscribe from all stocks and stop receiving notificatins
 public void Unsubscribe(IStockObserver observer)
 {
     InvestorsMap.Remove(observer);
 }
Ejemplo n.º 6
0
 //unsubscribe from one stock only
 public void Unsubscribe(IStockObserver observer, string Stock)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 7
0
 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);
 }
Ejemplo n.º 12
0
 public void Detach(IStockObserver observer)
 {
     lstObservers.Remove(observer);
 }
Ejemplo n.º 13
0
 public void Attach(IStockObserver observer)
 {
     lstObservers.Add(observer);
 }
Ejemplo n.º 14
0
 public Unsubscriber(List <IStockObserver> observers, IStockObserver observer)
 {
     _observers = observers;
     _observer  = observer;
 }