private void PublisherChannelOnMqMessagePublishFailed(object sender, MessagePublishFailedEventArgs messagePublishFailedEventArgs)
        {
            _executionLog.Info($"Message publishing failed with correlationId: {messagePublishFailedEventArgs.CorrelationId}, errorMessage: {messagePublishFailedEventArgs.ErrorMessage}, routingKey: {messagePublishFailedEventArgs.RoutingKey}.");

            var ticketId = string.Empty;
            var ci       = _ticketCache.Values.FirstOrDefault(f => f.CorrelationId == messagePublishFailedEventArgs.CorrelationId);

            if (!string.IsNullOrEmpty(ci?.TicketId))
            {
                ticketId = ci.TicketId;
            }
            var json = Encoding.UTF8.GetString(messagePublishFailedEventArgs.RawData.ToArray());

            var arg = new TicketSendFailedEventArgs(ticketId, json, messagePublishFailedEventArgs.ErrorMessage);

            TicketSendFailed?.Invoke(sender, arg);
        }
Exemple #2
0
        /// <summary>
        /// Raises the message publish failed event
        /// </summary>
        /// <param name="rawData">The raw data</param>
        /// <param name="correlationId">The correlation identifier</param>
        /// <param name="routingKey">The routing key</param>
        /// <param name="message">The message</param>
        private void RaiseMessagePublishFailedEvent(IEnumerable <byte> rawData, string correlationId, string routingKey, string message)
        {
            var args = new MessagePublishFailedEventArgs(rawData, correlationId, routingKey, message);

            MqMessagePublishFailed?.Invoke(this, args);
        }