Пример #1
0
        private void eh_AccountSummary(object sender, AccountSummaryEventArgs e)
        {
            AccountInfo acc = Accounts.FirstOrDefault <AccountInfo>(x => x.Name == e.Account);

            System.Windows.Threading.Dispatcher.FromThread(OrderManager.UIThread).Invoke(() =>
            {
                if (acc == null)
                {
                    Accounts.Add(new AccountInfo()
                    {
                        Name = e.Account
                    });
                    mainWin.LogList.Add(new Log()
                    {
                        Source = DisplayName,
                        Time   = DateTime.Now,
                        Text   = "A new account has been added"
                    });
                }
                AccountTag tag = acc.Properties.FirstOrDefault <AccountTag>(x => x.Tag == e.Tag);
                if (tag == null)
                {
                    acc.Properties.Add(new AccountTag()
                    {
                        Tag = e.Tag, Currency = e.Currency, Value = e.Value
                    });
                }
                else
                {
                    tag.Value = e.Value;
                }
            });
        }
        /// <inheritdoc/>
        public void accountSummary(int reqId, string account, string tag, string value, string currency)
        {
            var eventArgs = new AccountSummaryEventArgs(reqId, account, tag, value, currency);

            this.AccountSummaryEvent?.Invoke(this, eventArgs);
        }