Exemple #1
0
        public BrokerFeedViewModel(IBrokerFeedDataService dataService)
        {
            _dataService = dataService;

            var feedsTable = dataService.Feeds;

//            _sortedFeeds = new SortedTable(feedsTable);
//            _sortedFeeds.SortBy(BrokerTableDefinition.BrokerColumns.BrokerNameColumn, Comparer<string>.Default);
//            _sortedFeeds = new SortedTable(_sortedFeeds);
//            _sortedFeeds.SortBy(BrokerTableDefinition.BrokerColumns.MaturityColumn, Comparer<string>.Default);
            SetTable(feedsTable);

            _columnTypes = new Dictionary <string, Type>
            {
                { BrokerTableDefinition.BrokerColumns.CcyPairColumn, typeof(string) },
                { BrokerTableDefinition.BrokerColumns.BidColumn, typeof(double) },
                { BrokerTableDefinition.BrokerColumns.AskColumn, typeof(double) },
                { BrokerTableDefinition.BrokerColumns.BrokerNameColumn, typeof(string) },
                { BrokerTableDefinition.BrokerColumns.MaturityColumn, typeof(string) },
            };
            Columns = new ObservableCollection <string>(_columnTypes.Keys);

            _currencyPairsViewModel = new BrokerFeedCurrencyPairsViewModel(_dataService);

            foreach (var ccyPair in _ccyPairs)
            {
                AddCurrencyPair(_dataService.CurrencyPairs, ccyPair);
            }

            /*AddCcyCommand = new DelegateCommand(
             *  () =>
             *      {
             *          if (_ccyPairs.Count > 0)
             *          {
             *              var currencyPairsWire = _dataService.CurrencyPairs;
             *              AddCurrencyPair(currencyPairsWire, _ccyPairs.Pop());
             *          }
             *      });*/

            dataService.Start(Application.Current.Dispatcher);
        }
Exemple #2
0
        public BrokerFeedCurrencyPairsViewModel(IBrokerFeedDataService dataService)
        {
            _dataService = dataService;

            SetTable(_dataService.CurrencyPairs);
        }