SlaveAccountModel() { if (!isInDesign) { syncronizeScheduler = new Schedulers.ThreadScheduler((s, e) => Log = e.Exception); } LocalTradesList = new ListCollectionView(LocalTrades = new ObservableCollection <Trade>()); AbsentTradesList = new ListCollectionView(AbsentTrades = new ObservableCollection <Trade>()); fwLocal = new FXW(this.CoreFX, t => { throw new NotImplementedException(); }); tradeRequestManager = new TradeRequestManager(fwLocal); CoreFX.LoggedIn += (s, e) => { //fwLocal.TradeAdded += fw_TradeAded; fwLocal.PriceChanged += fwLocal_PriceChanged; fwLocal.OrderRemoved += DoOrderRemoved; fwLocal.Error += fwLocal_Error; RaisePropertyChanged(() => IsLoggedIn); Log = new Exception("Account " + TradingAccount + " logged in."); }; CoreFX.LoginError += exc => { Log = exc; RaisePropertyChanged(() => IsLoggedIn); }; CoreFX.LoggedOff += (s, e) => { Log = new Exception("Account " + TradingAccount + " logged out."); RaisePropertyChanged(() => IsLoggedIn); //fwLocal.TradeAdded -= fw_TradeAded; fwLocal.PriceChanged -= fwLocal_PriceChanged; fwLocal.OrderRemoved -= DoOrderRemoved; fwLocal.Error -= fwLocal_Error; }; }
public TradeRequestManager(ITradesManager fw) { this.fw = fw; openQueueScheduler = new Schedulers.ThreadScheduler((s, e) => RaiseTradeRequestManagerEvent(e.Exception)); }