public string ToDesignerJson()
{
StringBuilder sbJson = new StringBuilder();
sbJson.Append("{");
sbJson.AppendFormat("\"id\":{0},", Id.ToString());
sbJson.AppendFormat("\"title\":\"{0}\",", RotatorSettings.JsonEncode(Title));
sbJson.AppendFormat("\"duration\":{0},", DurationSeconds.ToString());
sbJson.AppendFormat("\"effect\":\"{0}\",", Effect ?? "None");
sbJson.AppendFormat("\"bkGradFrom\":\"{0}\",", ColorExt.ColorToHexString(BackgroundGradientFrom));
sbJson.AppendFormat("\"bkGradTo\":\"{0}\",", ColorExt.ColorToHexString(BackgroundGradientTo));
sbJson.AppendFormat("\"linkUrl\":\"{0}\",", SlideUrl);
sbJson.AppendFormat("\"linkCaption\":\"{0}\",", ButtonCaption);
sbJson.AppendFormat("\"btnTextColor\":\"{0}\",", ColorExt.ColorToHexString(BtnTextColor));
sbJson.AppendFormat("\"btnBackColor\":\"{0}\",", ColorExt.ColorToHexString(BtnBackColor));
sbJson.AppendFormat("\"linkTarget\":\"{0}\",", Target);
sbJson.AppendFormat("\"useTextsBk\":{0},", UseTextsBackground ? "true" : "false");
sbJson.AppendFormat("\"linkClickAnywhere\":{0},", ClickAnywhere ? "true" : "false");
sbJson.AppendFormat("\"mp3Url\":\"{0}\",", Mp3Url);
sbJson.AppendFormat("\"mp3IconColor\":\"{0}\",", ColorExt.ColorToHexString(IconColor));
sbJson.AppendFormat("\"mp3ShowPlayer\":{0},", ShowPlayer ? "true" : "false");
sbJson.Append("\"slideObjects\":[");
foreach (SlideObjectInfo slideObject in SlideObjects) {
sbJson.Append(slideObject.ToStringJson());
sbJson.Append(",");
}
if (sbJson[sbJson.Length - 1] == ',') {
sbJson = sbJson.Remove(sbJson.Length - 1, 1);
}
sbJson.Append("]");
sbJson.Append("}");
return sbJson.ToString();
}