void Receive(AccountInformationUpdateMessage message)
 {
     RaiseAccountInfoUpdateEvent(message.AccountInfo);
 }
        // >>
        public void AccountInformation(int operationID, decimal accountBalance, decimal accountCredit,
            string accountCompany, string accountCurrency,
            decimal accountEquity, decimal accountFreeMargin, decimal accountLeverage,
            decimal accountMargin, string accountName, int accountNumber,
            decimal accountProfit, string accountServer, bool operationResult, string operationResultMessage)
        {
            TracerHelper.TraceEntry();
            try
            {
                lock (this)
                {
                    _accountInfo.Balance = Math.Round(accountBalance, 4);
                    _accountInfo.Credit = Math.Round(accountCredit, 4);
                    _accountInfo.Company = accountCompany;
                    _accountInfo.BaseCurrency = new Symbol(accountCurrency);
                    _accountInfo.Equity = Math.Round(accountEquity, 4);
                    _accountInfo.FreeMargin = Math.Round(accountFreeMargin, 4);
                    _accountInfo.Leverage = Math.Round(accountLeverage, 4);
                    _accountInfo.Margin = Math.Round(accountMargin, 4);
                    _accountInfo.Name = accountName;
                    _accountInfo.Id = accountNumber.ToString();
                    _accountInfo.Profit = Math.Round(accountProfit, 4);
                    _accountInfo.Server = accountServer;
                }

                AccountInformationUpdateMessage message = new AccountInformationUpdateMessage(_accountInfo, operationResult);
                message.OperationResultMessage = operationResultMessage;

                if (base.GetOperationById(operationID) != null)
                {
                    base.CompleteOperation(operationID, message);
                }
                else
                {// This is an operationless update.
                    SendToSubscribers(message);
                }
            }
            catch (Exception ex)
            {
                SystemMonitor.Error(ex.Message);
            }
        }
 void Receive(AccountInformationUpdateMessage message)
 {
     RaiseAccountInfoUpdateEvent(message.AccountInfo);
 }