private string CreateAccessibleText(string text, TwitterEntities entities, TwitterStatus quoteStatus)
{
if (entities == null)
return text;
if (entities.Urls != null)
{
foreach (var entity in entities.Urls)
{
if (quoteStatus != null)
{
var matchStatusUrl = Twitter.StatusUrlRegex.Match(entity.ExpandedUrl);
if (matchStatusUrl.Success && matchStatusUrl.Groups["StatusId"].Value == quoteStatus.IdStr)
{
var quoteText = this.CreateAccessibleText(quoteStatus.FullText, quoteStatus.MergedEntities, quoteStatus: null);
text = text.Replace(entity.Url, string.Format(Properties.Resources.QuoteStatus_AccessibleText, quoteStatus.User.ScreenName, quoteText));
}
}
else if (!string.IsNullOrEmpty(entity.DisplayUrl))
{
text = text.Replace(entity.Url, entity.DisplayUrl);
}
}
}
if (entities.Media != null)
{
foreach (var entity in entities.Media)
{
if (!string.IsNullOrEmpty(entity.AltText))
{
text = text.Replace(entity.Url, string.Format(Properties.Resources.ImageAltText, entity.AltText));
}
else if (!string.IsNullOrEmpty(entity.DisplayUrl))
{
text = text.Replace(entity.Url, entity.DisplayUrl);
}
}
}
return text;
}