in Twitter/SDK/TwitterProvider.cs [101:144]
private async Task SavePageJobEntity(string jobId, string accessToken)
{
string page_id = string.Empty;
SourceInfoTwitter sourceInfo = new SourceInfoTwitter();
var pageJobMappingTable = azureTableProvider.GetAzureTableReference(Settings.PageJobMappingTableName);
Expression<Func<PageJobEntity, bool>> filter = (entity => entity.RowKey == $"{jobId}");
List<PageJobEntity> pageJobEntityList = await azureTableProvider.QueryEntitiesAsync<PageJobEntity>(pageJobMappingTable, filter);
PageJobEntity pageJobEntity;
if (pageJobEntityList.Count != 0)
{
pageJobEntity = pageJobEntityList[0];
SourceInfoTwitter SourceInfoTwitter = JsonConvert.DeserializeObject<SourceInfoTwitter>(pageJobEntity.SourceInfo);
sourceInfo.SinceId = SourceInfoTwitter.SinceId;
}
else
{
sourceInfo.SinceId = "0";
}
foreach (var pair in accessToken.Split('&'))
{
var keys = pair.Split('=');
if (keys[0].Equals("oauth_token"))
{
sourceInfo.ClientToken = keys[1];
}
if (keys[0].Equals("oauth_token_secret"))
{
sourceInfo.ClientSecret = keys[1];
}
if (keys[0].Equals("user_id"))
{
page_id = keys[1];
}
}
pageJobEntity = new PageJobEntity(page_id, jobId)
{
SourceInfo = JsonConvert.SerializeObject(sourceInfo)
};
await azureTableProvider.InsertOrReplaceEntityAsync(pageJobMappingTable, pageJobEntity);
}