コード例 #1
0
        public async Task <bool> Handle(IPubSubClientEventInvoker eventInvoker, ParsedTopicMessage message)
        {
            var data = JsonSerializer.Deserialize <CommunityPointsEvent>(message.JsonData);

            if (data?.EventType == CommunityPointsEventType.Redeem)
            {
                await eventInvoker.InvokeRedeemTopic(data);
            }
            else if (data?.EventType == CommunityPointsEventType.CustomCreated)
            {
                await eventInvoker.InvokeCustomRedeemCreatedTopic(data);
            }
            else if (data?.EventType == CommunityPointsEventType.CustomDeleted)
            {
                await eventInvoker.InvokeCustomRedeemDeletedTopic(data);
            }
            else if (data?.EventType == CommunityPointsEventType.CustomUpdated)
            {
                await eventInvoker.InvokeCustomRedeemUpdatedTopic(data);
            }
            else if (data?.EventType == CommunityPointsEventType.AutomaticUpdated)
            {
                await eventInvoker.InvokeAutomaticRedeemUpdatedTopic(data);
            }
            else if (data?.EventType == CommunityPointsEventType.InProgress)
            {
                await eventInvoker.InvokeCustomRedeemInProgressTopic(data);
            }
            else if (data?.EventType == CommunityPointsEventType.ProgressFinished)
            {
                await eventInvoker.InvokeCustomRedeemFinishedProgressTopic(data);
            }
            else if (data?.EventType == CommunityPointsEventType.RedemptionUpdate)
            {
                await eventInvoker.InvokeCustomRedeemStatusUpdateTopic(data);
            }
            else
            {
                return(false); // if it is an unknown event type we did not "handle"
            }
            return(true);
        }
コード例 #2
0
 public TopicResponseHandler(IPubSubClientEventInvoker eventInvoker)
 {
     _eventInvoker = eventInvoker;
 }