protected string SerializeProperties(string globalLang, string globalBaseUri, bool globalAddImageQuery)
{
globalLang = (globalLang != null) ? globalLang : String.Empty;
globalBaseUri = String.IsNullOrWhiteSpace(globalBaseUri) ? null : globalBaseUri;
StringBuilder builder = new StringBuilder(String.Empty);
for (int i = 0; i < m_Images.Length; i++)
{
if (!String.IsNullOrEmpty(m_Images[i].Src))
{
string escapedSrc = Util.HttpEncode(m_Images[i].Src);
if (!String.IsNullOrWhiteSpace(m_Images[i].Alt))
{
string escapedAlt = Util.HttpEncode(m_Images[i].Alt);
if (m_Images[i].AddImageQueryNullable == null || m_Images[i].AddImageQueryNullable == globalAddImageQuery)
{
builder.AppendFormat("<image id='{0}' src='{1}' alt='{2}'/>", i + 1, escapedSrc, escapedAlt);
}
else
{
builder.AppendFormat("<image addImageQuery='{0}' id='{1}' src='{2}' alt='{3}'/>", m_Images[i].AddImageQuery.ToString().ToLowerInvariant(), i + 1, escapedSrc, escapedAlt);
}
}
else
{
if (m_Images[i].AddImageQueryNullable == null || m_Images[i].AddImageQueryNullable == globalAddImageQuery)
{
builder.AppendFormat("<image id='{0}' src='{1}'/>", i + 1, escapedSrc);
}
else
{
builder.AppendFormat("<image addImageQuery='{0}' id='{1}' src='{2}'/>", m_Images[i].AddImageQuery.ToString().ToLowerInvariant(), i + 1, escapedSrc);
}
}
}
}
for (int i = 0; i < m_TextFields.Length; i++)
{
if (!String.IsNullOrWhiteSpace(m_TextFields[i].Text))
{
string escapedValue = Util.HttpEncode(m_TextFields[i].Text);
if (!String.IsNullOrWhiteSpace(m_TextFields[i].Lang) && !m_TextFields[i].Lang.Equals(globalLang))
{
string escapedLang = Util.HttpEncode(m_TextFields[i].Lang);
builder.AppendFormat("<text id='{0}' lang='{1}'>{2}</text>", i + 1, escapedLang, escapedValue);
}
else
{
builder.AppendFormat("<text id='{0}'>{1}</text>", i + 1, escapedValue);
}
}
}
return builder.ToString();
}