private void ProcessRisk(Message message) { foreach (var rule in RiskManager.ProcessRules(message)) { InnerAdapter.AddWarningLog(LocalizedStrings.Str855Params, rule.GetType().GetDisplayName(), rule.Title, rule.Action); switch (rule.Action) { case RiskActions.ClosePositions: { break; } case RiskActions.StopTrading: InnerAdapter.SendInMessage(new DisconnectMessage()); break; case RiskActions.CancelOrders: InnerAdapter.SendInMessage(new OrderGroupCancelMessage { TransactionId = InnerAdapter.TransactionIdGenerator.GetNextId() }); break; default: throw new ArgumentOutOfRangeException(); } } }