private SB.Message ToServiceBusMessage(MessageBus.Spec.Message message)
        {
            var serializedMessage = _converter.Serialize(message.Payload);
            var messageBody       = Encoding.UTF8.GetBytes(serializedMessage);
            var sbMsg             = new SB.Message(messageBody)
            {
                MessageId   = message.Id,
                ContentType = message.IsControl ? "control" : message.ContentType
            };

            if (!string.IsNullOrEmpty(message.FilterCorrelation))
            {
                sbMsg.CorrelationId = message.FilterCorrelation;
            }

            if (message.Properties != null && message.Properties.Any())
            {
                foreach (var property in message.Properties)
                {
                    sbMsg.UserProperties.Add(property);
                }
            }

            return(sbMsg);
        }
Example #2
0
        public MessageReceivedArgs(SB.Message message)
        {
            Message.Id = message.MessageId;
            var messageBytes = message.Body;
            var messageStr   = Encoding.UTF8.GetString(messageBytes);

            Message = new MessageBus.Spec.Message()
            {
                Payload     = messageStr,
                IsControl   = message.ContentType == "control",
                ContentType = message.ContentType,
                ReceivedAt  = DateTime.UtcNow,
                SentAt      = message.ScheduledEnqueueTimeUtc
            };
            if (message.UserProperties != null && message.UserProperties.Any())
            {
                Message.Properties = new Dictionary <string, object>(message.UserProperties);
            }
            else
            {
                Message.Properties = new Dictionary <string, object>();
            }
        }
 public async Task SendAsync(MessageBus.Spec.Message message)
 {
     var sbMessage = ToServiceBusMessage(message);
     await _client.SendAsync(sbMessage);
 }