private void HandleIsConnectedChanged(bool isConnected)
 {
     if (isConnected)
     {
         if (IsInitialized)
         {
             _ = SendJoinRequest();
             InvokeStateChanged(new GameAlertEventArgs()
             {
                 Title   = "Reconnected",
                 Message = "Rejoining game ..."
             });
         }
     }
     else
     {
         Trades.Clear();
         if (IsInitialized)
         {
             InvokeStateChanged(new GameAlertEventArgs()
             {
                 IsError = true,
                 Title   = "Disconnected from Server",
                 Message = "Attempting to reconnect ..."
             });
         }
     }
 }
Esempio n. 2
0
        /// <summary>Close all positions</summary>
        private void CloseOut()
        {
            foreach (var pos in Positions)
            {
                Broker.ClosePosition(pos);
            }

            Trades.Clear();
        }
Esempio n. 3
0
 public void ClearAll()
 {
     DataConnection.ClearTrades();
     _unfilteredTrades.Clear();
     Trades.Clear();
     PropertyChanged.Raise(this, nameof(Trades));
     _startDate = DateTime.MaxValue;
     _endDate   = DateTime.MinValue;
 }
Esempio n. 4
0
        public void SetTrades(List <Trade> trades, ITradeDetailsAutoCalculatorService tradeCalculateService, IBroker broker)
        {
            AccountLastUpdated = DateTime.UtcNow;

            foreach (var t in Trades)
            {
                tradeCalculateService.RemoveTrade(t);
            }

            Trades.Clear();
            Trades.AddRange(trades);

            Log.Debug($"Completed updating {broker.Name} trades");
            _brokerAccountUpdatedSubject.OnNext(new BrokerAccountUpdated(this));
        }
Esempio n. 5
0
        public void Dispose()
        {
            if (Commoditys != null)
            {
                Commoditys.Clear();
            }
            if (Users != null)
            {
                Users.Clear();
            }
            if (Accounts != null)
            {
                Accounts.Clear();
            }
            if (ClosedTradeDetails != null)
            {
                ClosedTradeDetails.Clear();
            }
            if (CommoditySummarizations != null)
            {
                CommoditySummarizations.Clear();
            }
            if (FundStatus != null)
            {
                FundStatus.Clear();
            }
            if (Parameters != null)
            {
                Parameters.Clear();
            }
            if (PositionDetails != null)
            {
                PositionDetails.Clear();
            }
            if (Positions != null)
            {
                Positions.Clear();
            }
            if (Remittances != null)
            {
                Remittances.Clear();
            }
            if (Stocks != null)
            {
                Stocks.Clear();
            }
            if (TradeDetails != null)
            {
                TradeDetails.Clear();
            }
            if (Trades != null)
            {
                Trades.Clear();
            }

            Commoditys              = null;
            Users                   = null;
            Accounts                = null;
            ClosedTradeDetails      = null;
            CommoditySummarizations = null;
            FundStatus              = null;
            Parameters              = null;
            PositionDetails         = null;
            Positions               = null;
            Remittances             = null;
            Stocks                  = null;
            TradeDetails            = null;
            Trades                  = null;
        }
Esempio n. 6
0
 /// <summary>
 /// Resets all Trades.
 /// </summary>
 public void ResetTrades()
 {
     Trades.Clear();
 }
Esempio n. 7
0
        private async System.Threading.Tasks.Task ExecuteLoadTradesCommand()
        {
            if (IsBusy)
            {
                return;
            }

            IsRefreshing = false;
            IsBusy       = true;

            var usr = AuthService.UserToken.User;

            try
            {
                Trades.Clear();
                var items = await DataService.GetItemsAsync <ScheduleTrade>("scheduleTrades" + (ForUser ? "?forUser=true" : "?status=" + ((int)Constants.TRADE_STATUS.PENDING_APPROVAL).ToString()));

                NoTrades = !items.Data.Any();
                OnPropertyChanged("NoTrades");
                foreach (var item in items.Data.OrderByDescending(d => d.Schedule.ScheduleDateValue))
                {
                    var tradeListItem = new TradeListItem();
                    tradeListItem.ScheduleTrade = item;
                    tradeListItem.Schedule      = GetItemForSchedule(item.Schedule);
                    if (item.TradeForScheduleId != null)
                    {
                        tradeListItem.ToSchedule = GetItemForSchedule(item.TradeForSchedule);
                    }

                    tradeListItem.InfoColumn        = new DisplayItem();
                    tradeListItem.InfoColumn.Tag    = false;
                    tradeListItem.AcceptApproveText = "";
                    tradeListItem.DeclineDenyText   = "";
                    if (ForUser && item.TradeStatus == (int)Constants.TRADE_STATUS.REQUESTED && item.Schedule.UserIdValue == usr.UserIdValue)
                    {
                        tradeListItem.InfoColumn.Tag    = true;
                        tradeListItem.AcceptApproveText = AcceptText;
                        tradeListItem.DeclineDenyText   = DeclineText;
                    }
                    else if (!ForUser && item.TradeStatus == (int)Constants.TRADE_STATUS.PENDING_APPROVAL)
                    {
                        tradeListItem.InfoColumn.Tag    = true;
                        tradeListItem.AcceptApproveText = ApproveText;
                        tradeListItem.DeclineDenyText   = DenyText;
                    }

                    tradeListItem.InfoColumn.Line1 = item.TradeUser == null ? "" : item.TradeUser.DisplayName + " - ";

                    switch (item.TradeStatusValue)
                    {
                    case (int)Constants.TRADE_STATUS.SUBMITTED:
                        tradeListItem.Color             = Color.LightGray;
                        tradeListItem.InfoColumn.Line1 += "Posted";
                        break;

                    case (int)Constants.TRADE_STATUS.REQUESTED:
                        tradeListItem.Color             = Color.Yellow;
                        tradeListItem.InfoColumn.Line1 += "Requested";
                        break;

                    case (int)Constants.TRADE_STATUS.PENDING_APPROVAL:
                        tradeListItem.Color             = Color.Green;
                        tradeListItem.InfoColumn.Line1 += "Pending Approval";
                        break;

                    case (int)Constants.TRADE_STATUS.APPROVED:
                        tradeListItem.Color             = Color.Blue;
                        tradeListItem.InfoColumn.Line1 += "Approved";
                        break;

                    case (int)Constants.TRADE_STATUS.DENIED:
                        tradeListItem.Color             = Color.Red;
                        tradeListItem.InfoColumn.Line1 += "Denied";
                        break;

                    default:
                        tradeListItem.Color = Color.Black;
                        break;
                    }

                    Trades.Add(tradeListItem);
                }
            }
            catch (Exception ex)
            {
                IsBusy = false;
                ExceptionHelper.ShowException(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }
Esempio n. 8
0
 /// <summary>When the account changes, flush all the position data</summary>
 private void HandleAcctChanged(object sender, EventArgs e)
 {
     Orders.Clear();
     Trades.Clear();
 }