SnapDotNet.Apps.Notifications.NotificationBase.NotificationBase.SerializeProperties C# (CSharp) Method

SerializeProperties() protected method

protected SerializeProperties ( string globalLang, string globalBaseUri, bool globalAddImageQuery ) : string
globalLang string
globalBaseUri string
globalAddImageQuery bool
return string
			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();
			}