/// <summary>
        /// Logs Success webHook notifications by incrementing AttemptCount.
        /// </summary>
        /// <param name="feedEntry">Entry with the event data.</param>
        /// <returns>Saved feed entry.</returns>
        protected async Task <WebhookFeedEntry> LogSuccessAsync(WebhookFeedEntry feedEntry)
        {
            var criteria = new WebhookFeedSearchCriteria()
            {
                RecordTypes = new[] { (int)WebhookFeedEntryType.Success },
                WebHookIds  = new[] { feedEntry.WebHookId },
                Skip        = 0,
                Take        = 1,
            };
            var feedEntrySearchResult = await _webHookFeedSearchService.SearchAsync(criteria);

            var feedEntryToSave = feedEntrySearchResult.Results.FirstOrDefault();

            if (feedEntryToSave == null)
            {
                feedEntryToSave = feedEntry;
            }

            feedEntryToSave.AttemptCount++;

            await _webHookFeedService.SaveChangesAsync(new[] { feedEntryToSave });

            return(feedEntryToSave);
        }
Пример #2
0
        public async Task <ActionResult <WebHookFeedSearchResult> > SearchWebhookFeed([FromBody] WebhookFeedSearchCriteria criteria)
        {
            var result = await _webHookFeedSearchService.SearchAsync(criteria);

            return(Ok(result));
        }