Ejemplo n.º 1
0
        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;
            };
        }
Ejemplo n.º 2
0
 public TradeRequestManager(ITradesManager fw)
 {
     this.fw            = fw;
     openQueueScheduler = new Schedulers.ThreadScheduler((s, e) => RaiseTradeRequestManagerEvent(e.Exception));
 }