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");
}
}
}
}