private async Task SendDataAsync()

in Facebook/WebApp/Controllers/FbPageWebhookController.cs [98:131]


        private async Task SendDataAsync(WebhookFeedFB data)
        {
            string jobId;
            foreach (Entry entry in data.Entry)
            {
                if (PageJobMapping.ContainsKey(entry.Id))
                {
                    jobId = PageJobMapping[entry.Id].RowKey;
                }
                else
                {
                    Trace.TraceInformation($"Page Id: {entry.Id}");
                    Expression<Func<PageJobEntity, bool>> filter = (entity => entity.PartitionKey == entry.Id);
                    PageJobMappingTable = azureTableProvider.GetAzureTableReference(Settings.PageJobMappingTableName);
                    List<PageJobEntity> pageJobEntityList = await azureTableProvider.QueryEntitiesAsync<PageJobEntity>(PageJobMappingTable, filter);
                    Trace.TraceInformation($"Fetched entries from Table: {pageJobEntityList.Count}");
                    PageJobEntity pageJobEntity = pageJobEntityList?[0];
                    PageJobMapping.Add(pageJobEntity?.PartitionKey, pageJobEntity);
                    jobId = pageJobEntity?.RowKey;
                }

                foreach (Change change in entry.Changes)
                {
                    if (change.Value != null  && change.Value.PostId != null)
                    {
                        await eventApiClient.OnWebhookEvent(Settings.TenantId, jobId, $"{change.Value?.CreatedTime}", $"{change.Value?.PostId}", "update");
                    }
                    else
                    {
                        Trace.TraceWarning("No post id");
                    }
                }
            }
        }