public string SerializeBinding(string globalLang, string globalBaseUri, TileBranding globalBranding, bool globalAddImageQuery)
{
StringBuilder bindingNode = new StringBuilder(String.Empty);
if (Square71x71Content != null)
{
ISquare71x71TileInternal smallTileBase = Square71x71Content as ISquare71x71TileInternal;
if (smallTileBase == null)
{
throw new NotificationContentValidationException("The provided small tile content class is unsupported.");
}
bindingNode.Append(smallTileBase.SerializeBinding(Lang, BaseUri, Branding, AddImageQuery));
}
bindingNode.AppendFormat("<binding template='{0}'", TemplateName);
if (!String.IsNullOrWhiteSpace(FallbackName))
{
bindingNode.AppendFormat(" fallback='{0}'", FallbackName);
}
if (!String.IsNullOrWhiteSpace(Lang) && !Lang.Equals(globalLang))
{
bindingNode.AppendFormat(" lang='{0}'", Util.HttpEncode(Lang));
globalLang = Lang;
}
if (Branding != TileBranding.Logo && Branding != globalBranding)
{
bindingNode.AppendFormat(" branding='{0}'", Branding.ToString().ToLowerInvariant());
}
if (!String.IsNullOrWhiteSpace(BaseUri) && !BaseUri.Equals(globalBaseUri))
{
bindingNode.AppendFormat(" baseUri='{0}'", Util.HttpEncode(BaseUri));
globalBaseUri = BaseUri;
}
if (AddImageQueryNullable != null && AddImageQueryNullable != globalAddImageQuery)
{
bindingNode.AppendFormat(" addImageQuery='{0}'", AddImageQuery.ToString().ToLowerInvariant());
globalAddImageQuery = AddImageQuery;
}
if (!String.IsNullOrWhiteSpace(ContentId))
{
bindingNode.AppendFormat(" contentId='{0}'", ContentId.ToLowerInvariant());
}
bindingNode.AppendFormat(">{0}</binding>", SerializeProperties(globalLang, globalBaseUri, globalAddImageQuery));
return bindingNode.ToString();
}