public Task <ExecuteTradeResponseDto> ExecuteTrade(IRequestContext context, IMessage message)
        {
            Log.Debug("Received ExecuteTrade from {username}", context.UserSession.Username);

            var payload = JsonConvert.DeserializeObject <ExecuteTradeRequestDto>(Encoding.UTF8.GetString(message.Payload));

            return(_service.ExecuteTrade(context, payload));
        }
        protected Task <ExecuteTradeResponseDto> ExecuteTrade(IRequestContext context, IMessage message)
        {
            using (LogContext.PushProperty("InstanceId", InstanceId))
            {
                Log.Debug("Received ExecuteTrade from {username}", context.Username);

                var payload = JsonConvert.DeserializeObject <ExecuteTradeRequestDto>(Encoding.UTF8.GetString(message.Payload));

                Log.Information("Received Trade Execution request {trade}", JsonConvert.SerializeObject(payload));

                return(_service.ExecuteTrade(context, payload));
            }
        }