FastQuant.AccountDataManager.OnAccountData C# (CSharp) Méthode

OnAccountData() private méthode

private OnAccountData ( AccountData data ) : void
data AccountData
Résultat void
        internal void OnAccountData(AccountData data)
        {
            var @class = GetTable(data.ProviderId, data.Route, true);
            lock (@class)
            {
                AccountDataTableItem class2;
                if ([email protected](data.Account, out class2))
                {
                    class2 = new AccountDataTableItem();
                    @class.Items.Add(data.Account, class2);
                }
                switch (data.Type)
                {
                    case AccountDataType.AccountValue:
                        MergeFields(data.Fields, class2.Values);
                        break;
                    case AccountDataType.Position:
                        {
                            AccountDataKey key = new AccountDataKey(data, new[] { "Symbol", "Maturity", "PutOrCall", "Strike" });
                            AccountDataFieldList list;
                            if (!class2.Positions.TryGetValue(key, out list))
                            {
                                list = new AccountDataFieldList();
                                class2.Positions.Add(key, list);
                            }
                            list.Clear();
                            CopyFields(data.Fields, list);
                            break;
                        }
                    case AccountDataType.Order:
                        {
                            AccountDataKey key2 = new AccountDataKey(data, new[] { "OrderID" });
                            AccountDataFieldList list;
                            if (!class2.Orders.TryGetValue(key2, out list))
                            {
                                list = new AccountDataFieldList();
                                class2.Orders.Add(key2, list);
                            }
                            list.Clear();
                            CopyFields(data.Fields, list);
                            break;
                        }
                }
            }
        }