Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions src/umbraco.cms/businesslogic/datatype/DataTypeDefinition.cs
Original file line number Diff line number Diff line change
Expand Up @@ -135,11 +135,16 @@ public XmlElement ToXml(XmlDocument xd)
XmlElement prevalues = xd.CreateElement("PreValues");
foreach (DictionaryEntry item in PreValues.GetPreValues(this.Id))
{
XmlElement prevalue = xd.CreateElement("PreValue");
prevalue.Attributes.Append(xmlHelper.addAttribute(xd, "Id", ((PreValue)item.Value).Id.ToString()));
prevalue.Attributes.Append(xmlHelper.addAttribute(xd, "Value", ((PreValue)item.Value).Value));
var prevalue = (PreValue)item.Value;
var element = xd.CreateElement("PreValue");
element.Attributes.Append(xmlHelper.addAttribute(xd, "Id", prevalue.Id.ToString()));

prevalues.AppendChild(prevalue);
if (!string.IsNullOrWhiteSpace(prevalue.Alias))
element.Attributes.Append(xmlHelper.addAttribute(xd, "Alias", prevalue.Alias));

element.Attributes.Append(xmlHelper.addAttribute(xd, "Value", prevalue.Value));

prevalues.AppendChild(element);
}

dt.AppendChild(prevalues);
Expand Down
39 changes: 36 additions & 3 deletions src/umbraco.cms/businesslogic/datatype/PreValue.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,21 @@ public PreValue(int Id, int SortOrder, string Value)
_value = Value;
}

/// <summary>
/// Initializes a new instance of the <see cref="PreValue"/> class.
/// </summary>
/// <param name="Id">The unique identifier.</param>
/// <param name="SortOrder">The sort order.</param>
/// <param name="Value">The value.</param>
/// <param name="Alias">The alias.</param>
public PreValue(int Id, int SortOrder, string Value, string Alias)
{
_id = Id;
_sortOrder = SortOrder;
_value = Value;
_alias = Alias;
}

/// <summary>
/// Initializes a new instance of the <see cref="PreValue"/> class.
/// </summary>
Expand Down Expand Up @@ -92,7 +107,8 @@ public static PreValue MakeNew(int dataTypeDefId, string value)
private int _dataTypeId;
private int? _id;
private string _value;
private int _sortOrder;
private int _sortOrder;
private string _alias;
#endregion

#region Public properties
Expand Down Expand Up @@ -134,7 +150,23 @@ public int SortOrder
{
get { return _sortOrder; }
set { _sortOrder = value; }
}
}

/// <summary>
/// Gets or sets the alias.
/// </summary>
/// <value>The alias.</value>
public string Alias
{
get
{
if (_alias == null)
_alias = string.Empty;

return _alias;
}
set { _alias = value; }
}
#endregion

#region Public methods
Expand Down Expand Up @@ -195,12 +227,13 @@ public void Save()
private void initialize()
{
IRecordsReader dr = SqlHelper.ExecuteReader(
"Select id, sortorder, [value] from cmsDataTypePreValues where id = @id order by sortorder",
"SELECT id, sortorder, [value], alias FROM cmsDataTypePreValues WHERE id = @id ORDER BY sortorder",
SqlHelper.CreateParameter("@id", Id));
if (dr.Read())
{
_sortOrder = dr.GetInt("sortorder");
_value = dr.GetString("value");
_alias = dr.GetString("alias");
}
dr.Close();
}
Expand Down
4 changes: 2 additions & 2 deletions src/umbraco.cms/businesslogic/datatype/PreValues.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,13 @@ public static SortedList GetPreValues(int DataTypeId)
{
SortedList retval = new SortedList();
IRecordsReader dr = SqlHelper.ExecuteReader(
"Select id, sortorder, [value] from cmsDataTypePreValues where DataTypeNodeId = @dataTypeId order by sortorder",
"SELECT id, sortorder, [value], alias FROM cmsDataTypePreValues WHERE DataTypeNodeId = @dataTypeId ORDER BY sortorder",
SqlHelper.CreateParameter("@dataTypeId", DataTypeId));

int counter = 0;
while (dr.Read())
{
retval.Add(counter, new PreValue(dr.GetInt("id"), dr.GetInt("sortorder"), dr.GetString("value")));
retval.Add(counter, new PreValue(dr.GetInt("id"), dr.GetInt("sortorder"), dr.GetString("value"), dr.GetString("alias")));
counter++;
}
dr.Close();
Expand Down