Exemple #1
0
        /// <summary>
        ///     Обработка сообщения по ГО
        /// </summary>
        private void CollateralStatusReceived(AdapterEventArgs <CollateralStatus> args)
        {
            args.MarkHandled();

            // Ищем счет для MP
            string accountCode;

            using (accountsLock.ReadLock())
            {
                if (!accountCodesById.TryGetValue(args.Message.account_id, out accountCode))
                {
                    Logger.Error().Print("Unable to process collateral: account is unknown", LogFields.AccountId(args.Message.account_id));
                    return;
                }
            }

            // Собираем  Money Position
            var moneyPosition = new MoneyPosition
            {
                Account = accountCode
            };

            moneyPosition[MoneyPositionPropertyNames.Ote]             = (decimal)args.Message.ote;
            moneyPosition[MoneyPositionPropertyNames.Mvo]             = (decimal)args.Message.mvo;
            moneyPosition[MoneyPositionPropertyNames.PurchasingPower] = (decimal)args.Message.purchasing_power;
            moneyPosition[MoneyPositionPropertyNames.TotalMargin]     = (decimal)args.Message.total_margin;
            moneyPosition[MoneyPositionPropertyNames.Currency].Value  = args.Message.currency;

            OnMessageReceived(moneyPosition);
        }
Exemple #2
0
        private void Handle(QLMoneyPosition position)
        {
            //Logger.Debug("Money position received: {0}", position);
            var moneyPosition = new MoneyPosition
            {
                Account    = position.trdaccid,
                ClientCode = position.trdaccid,
                [MoneyPositionPropertyNames.OpenLimit]           = position.cbplimit,
                [MoneyPositionPropertyNames.PlannedPurePosition] = position.cbplplanned,
                [MoneyPositionPropertyNames.Commission]          = position.ts_comission,
                [MoneyPositionPropertyNames.VariationMargin]     = position.varmargin
            };

            OnMessageReceived(moneyPosition);
        }
Exemple #3
0
 /// <summary>
 ///     Выплюнуть из раутера сообщение
 /// </summary>
 /// <param name="message">
 ///     Сообщение
 /// </param>
 internal void Transmit(MoneyPosition message)
 {
     OnMessageReceived(message);
 }