public void ApplyEventNamespaceBinding(IMessageTypeParser messageTypeParser, IEventTypeProvider eventTypeProvider) { var eventNamespaceMessageType = MessageType.FirstOrDefault(messageTypeParser.IsEventNamespaceType); if (string.IsNullOrWhiteSpace(eventNamespaceMessageType)) { return; } var parsed = messageTypeParser.Parse(eventNamespaceMessageType); var messageType = eventTypeProvider.GetType(parsed.Namespace, parsed.Type); if (messageType.HasNoValue) { return; } var messageTypes = MessageType.Where(mt => mt != eventNamespaceMessageType).ToList(); messageTypes.Add(MessageUrn.ForType(messageType.Value).ToString()); MessageType = messageTypes.ToArray(); }
public EventNamespaceMessageDeserializer(JsonSerializer deserializer, IEventTypeProvider eventTypeProvider, IMessageTypeParser messageTypeParser) { _deserializer = deserializer; _eventTypeProvider = eventTypeProvider; _messageTypeParser = messageTypeParser; }