public override string GetContent()
{
if (RequireSquare71x71Content && Square71x71Content == null)
{
throw new NotificationContentValidationException(
"Square71x71 tile content should be included with each medium tile. " +
"If this behavior is undesired, use the RequireSquare71x71Content property.");
}
StringBuilder builder = new StringBuilder(String.Empty);
builder.AppendFormat("<tile><visual version='{0}'", TileUtil.NOTIFICATION_CONTENT_VERSION);
if (!String.IsNullOrWhiteSpace(Lang))
{
builder.AppendFormat(" lang='{0}'", Util.HttpEncode(Lang));
}
if (Branding != TileBranding.Logo)
{
builder.AppendFormat(" branding='{0}'", Branding.ToString().ToLowerInvariant());
}
if (!String.IsNullOrWhiteSpace(BaseUri))
{
builder.AppendFormat(" baseUri='{0}'", Util.HttpEncode(BaseUri));
}
if (AddImageQuery)
{
builder.AppendFormat(" addImageQuery='true'");
}
builder.Append(">");
if (Square71x71Content != null)
{
ISquare71x71TileInternal smallTileBase = Square71x71Content as ISquare71x71TileInternal;
if (smallTileBase == null)
{
throw new NotificationContentValidationException("The provided small tile content class is unsupported.");
}
builder.Append(smallTileBase.SerializeBinding(Lang, BaseUri, Branding, AddImageQuery));
}
builder.Append(SerializeBinding(Lang, BaseUri, Branding, AddImageQuery));
builder.Append("</visual></tile>");
return builder.ToString();
}