Handle NULL message type in Rebus bookmark handler

Fixes #1326
This commit is contained in:
Sipke Schoorstra 2021-09-21 14:49:07 +02:00
parent 976241609a
commit fbd8fe1b79

View file

@ -1,4 +1,5 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Elsa.Services;
@ -13,13 +14,20 @@ namespace Elsa.Activities.Rebus.Bookmarks
public class MessageReceivedTriggerProvider : BookmarkProvider<MessageReceivedBookmark, RebusMessageReceived>
{
public override async ValueTask<IEnumerable<BookmarkResult>> GetBookmarksAsync(BookmarkProviderContext<RebusMessageReceived> context, CancellationToken cancellationToken) =>
new[]
public override async ValueTask<IEnumerable<BookmarkResult>> GetBookmarksAsync(BookmarkProviderContext<RebusMessageReceived> context, CancellationToken cancellationToken)
{
var messageType = await context.ReadActivityPropertyAsync(x => x.MessageType, cancellationToken);
if (messageType == null)
return Enumerable.Empty<BookmarkResult>();
return new[]
{
Result(new MessageReceivedBookmark
{
MessageType = (await context.ReadActivityPropertyAsync(x => x.MessageType, cancellationToken))!.Name
MessageType = messageType.Name
})
};
}
}
}