private void HandleMessageResult(SubscriberInfo subscriberInfo, ServiceBusMessageStates state, IBrokeredMessage brokeredMessage, string messageBody) { _logService.Debug("Handling message id '{0}', topic/subscription '{1}', state '{2}', body '{3}' ", brokeredMessage.MessageId, subscriberInfo.SubscriptionPath, state, messageBody); switch (state) { case ServiceBusMessageStates.Complete: brokeredMessage.Complete(); break; case ServiceBusMessageStates.Abandon: brokeredMessage.Abandon(); break; case ServiceBusMessageStates.DeadLetter: brokeredMessage.DeadLetter(); break; case ServiceBusMessageStates.Requeue: var scheduledEnqueueTimeUtc = brokeredMessage.ScheduledEnqueueTimeUtc == DateTime.MinValue ? DateTime.UtcNow.AddSeconds(30) : GetDefaultRequeueDateTimeUtc(); var newBrokeredMessage = new BrokeredMessage(messageBody) { ScheduledEnqueueTimeUtc = scheduledEnqueueTimeUtc }; subscriberInfo.TopicClient.Send(newBrokeredMessage); brokeredMessage.Complete(); break; default: var deadLetterReason = string.Format( "Invalid message state '{0}' for message id '{1}', topic/subscription '{2}': message will be dead-lettered", state, brokeredMessage.MessageId, subscriberInfo.SubscriptionPath); _logService.Error(deadLetterReason); brokeredMessage.DeadLetter(); break; } _logService.Debug("Handled message id '{0}', topic/subscription '{1}', state '{2}', body '{3}' ", brokeredMessage.MessageId, subscriberInfo.SubscriptionPath, state, messageBody); }
public CandidateUserUpdateSubscriberMock(ServiceBusMessageStates stateToReturn) { _stateToReturn = stateToReturn; }