Files
Umbraco-CMS/src/umbraco.editorControls/DefaultDataKeyValue.cs
2013-07-23 13:16:18 +02:00

50 lines
1.7 KiB
C#

using System;
using System.Linq;
using Umbraco.Core.Logging;
namespace umbraco.editorControls
{
/// <summary>
/// Summary description for cms.businesslogic.datatype.DefaultDataKeyValue.
/// </summary>
public class DefaultDataKeyValue : cms.businesslogic.datatype.DefaultData
{
public DefaultDataKeyValue(cms.businesslogic.datatype.BaseDataType DataType)
: base(DataType)
{ }
/// <summary>
/// Gets the values of from cmsDataTypePreValues table by id and puts them into a CDATA section
/// </summary>
/// <param name="xmlDocument"></param>
/// <returns></returns>
public override System.Xml.XmlNode ToXMl(System.Xml.XmlDocument xmlDocument)
{
var value = string.Empty;
try
{
// Don't query if there's nothing to query for..
if (string.IsNullOrWhiteSpace(Value.ToString()) == false)
{
var dr = SqlHelper.ExecuteReader(string.Format("Select [value] from cmsDataTypeprevalues where id in ({0})", SqlHelper.EscapeString(Value.ToString())));
while (dr.Read())
{
value += value.Length == 0
? dr.GetString("value")
: string.Format(",{0}", dr.GetString("value"));
}
dr.Close();
}
}
catch (Exception ex)
{
LogHelper.Error<DefaultDataKeyValue>("An exception occurred converting the property data to XML", ex);
}
return xmlDocument.CreateCDataSection(value);
}
}
}