Files
Umbraco-CMS/src/Umbraco.Core/Models/Rdbms/PropertyDataDto.cs
sitereactor 137a54b193 Refactoring DTOs for Identity seed, which is used by Sql Ce.
Updating unit tests and Contexts to include the ServiceContext and DatabaseContext.
2012-10-30 15:03:58 -01:00

82 lines
2.3 KiB
C#

using System;
using Umbraco.Core.Persistence;
using Umbraco.Core.Persistence.DatabaseAnnotations;
namespace Umbraco.Core.Models.Rdbms
{
[TableName("cmsPropertyData")]
[PrimaryKey("id")]
[ExplicitColumns]
internal class PropertyDataDto
{
[Column("id")]
[PrimaryKeyColumn]
[Index(IndexTypes.NonClustered, Name = "IX_cmsPropertyData")]
public int Id { get; set; }
[Column("contentNodeId")]
[ForeignKey(typeof(NodeDto))]
[Index(IndexTypes.NonClustered, Name = "IX_cmsPropertyData_1")]
public int NodeId { get; set; }
[Column("versionId")]
[NullSetting(NullSetting = NullSettings.Null)]
[Index(IndexTypes.NonClustered, Name = "IX_cmsPropertyData_2")]
public Guid? VersionId { get; set; }
[Column("propertytypeid")]
[ForeignKey(typeof(PropertyTypeDto))]
[Index(IndexTypes.NonClustered, Name = "IX_cmsPropertyData_3")]
public int PropertyTypeId { get; set; }
[Column("dataInt")]
[NullSetting(NullSetting = NullSettings.Null)]
public int? Integer { get; set; }
[Column("dataDate")]
[NullSetting(NullSetting = NullSettings.Null)]
public DateTime? Date { get; set; }
[Column("dataNvarchar")]
[NullSetting(NullSetting = NullSettings.Null)]
[Length(500)]
public string VarChar { get; set; }
[Column("dataNtext")]
[NullSetting(NullSetting = NullSettings.Null)]
[SpecialDbType(SpecialDbTypes.NTEXT)]
public string Text { get; set; }
[ResultColumn]
public PropertyTypeDto PropertyTypeDto { get; set; }
[Ignore]
public object GetValue
{
get
{
if(Integer.HasValue)
{
return Integer.Value;
}
if(Date.HasValue)
{
return Date.Value;
}
if(!string.IsNullOrEmpty(VarChar))
{
return VarChar;
}
if(!string.IsNullOrEmpty(Text))
{
return Text;
}
return null;
}
}
}
}