public string Serialise(Message message)
        {
            var settings = new JsonSerializerSettings
            {
                NullValueHandling = NullValueHandling.Ignore,
                Converters = new[] { _enumConverter }
            };

            return JsonConvert.SerializeObject(message, settings);
        }
        public string Serialise(Message message, bool serializeForSnsPublishing)
        {
            var settings = GetJsonSettings();

            var msg = JsonConvert.SerializeObject(message, settings);

            // AWS SNS service will add Subject and Message properties automatically, 
            // so just return plain message
            if (serializeForSnsPublishing)
                return msg;

            // for direct publishing to SQS, add Subject and Message properties manually
            var context = new { Subject = message.GetType().Name, Message = msg };
            return JsonConvert.SerializeObject(context);
        }
        public string Serialise(Message message)
        {
            var settings = GetJsonSettings();

            return JsonConvert.SerializeObject(message, settings);
        }