public void ExecuteDeleteCommand(object obj)
 {
     try
     {
         List <string> selectedItems = new List <string>();
         selectedItems = StockDetailsList.Where(s => s.IsSelected == true).Select(s => s.CompanyNameShort).ToList();
         foreach (string sym in selectedItems)
         {
             StockDetailsList.Remove(StockDetailsList.Single(i => i.CompanyNameShort == sym));
             dataManager.Unsubscribe(SelectedExchange, sym);
         }
     }
     catch (Exception ex)
     {
         string str = "Failed to delete stock(company) symbol\n";
         statusManager.SetStatus(new Status(str, ex));
         logger.Write(str + ex.Message);
     }
 }
 public void ExecuteAddCommand(object obj)
 {
     try
     {
         if (StockDetailsList.Where(i => i.CompanyNameShort == NewSymbol).ToList().Count != 0)
         {
             statusManager.SetStatus(new Status("Stock symbol already added !!", StatusSeverity.Information, null));
         }
         else
         {
             dataManager.Subscribe(SelectedExchange, NewSymbol);
             StockDetailsList.Add(new StockData()
             {
                 Exchange = SelectedExchange, CompanyNameShort = NewSymbol
             });
         }
     }
     catch (Exception ex)
     {
         string str = "Failed to add new exchange\n";
         statusManager.SetStatus(new Status(str, ex));
         logger.Write(str + ex.Message);
     }
 }