Removing usage of IProfile on DataTypeDefinition.

Giving the Code First POC an extra kick in the conventions, so the default PropertyType convention can be overridden.
If a Definition doesn't exist for the selected DataType one will be created - with backing unit test.
This commit is contained in:
Morten Christensen
2012-11-24 19:07:06 -01:00
parent e32880f215
commit ff89383386
14 changed files with 240 additions and 121 deletions

View File

@@ -2,7 +2,6 @@
using System.Reflection;
using System.Runtime.Serialization;
using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Membership;
namespace Umbraco.Core.Models
{
@@ -22,7 +21,7 @@ namespace Umbraco.Core.Models
private int _sortOrder;
private int _level;
private string _path;
private IProfile _creator;
private int _creatorId;
private bool _trashed;
private Guid _controlId;
private DataTypeDatabaseType _databaseType;
@@ -38,7 +37,7 @@ namespace Umbraco.Core.Models
private static readonly PropertyInfo SortOrderSelector = ExpressionHelper.GetPropertyInfo<DataTypeDefinition, int>(x => x.SortOrder);
private static readonly PropertyInfo LevelSelector = ExpressionHelper.GetPropertyInfo<DataTypeDefinition, int>(x => x.Level);
private static readonly PropertyInfo PathSelector = ExpressionHelper.GetPropertyInfo<DataTypeDefinition, string>(x => x.Path);
private static readonly PropertyInfo UserIdSelector = ExpressionHelper.GetPropertyInfo<DataTypeDefinition, IProfile>(x => x.Creator);
private static readonly PropertyInfo UserIdSelector = ExpressionHelper.GetPropertyInfo<DataTypeDefinition, int>(x => x.CreatorId);
private static readonly PropertyInfo TrashedSelector = ExpressionHelper.GetPropertyInfo<DataTypeDefinition, bool>(x => x.Trashed);
private static readonly PropertyInfo ControlIdSelector = ExpressionHelper.GetPropertyInfo<DataTypeDefinition, Guid>(x => x.ControlId);
private static readonly PropertyInfo DatabaseTypeSelector = ExpressionHelper.GetPropertyInfo<DataTypeDefinition, DataTypeDatabaseType>(x => x.DatabaseType);
@@ -118,12 +117,12 @@ namespace Umbraco.Core.Models
/// Id of the user who created this entity
/// </summary>
[DataMember]
public IProfile Creator
public int CreatorId
{
get { return _creator; }
get { return _creatorId; }
set
{
_creator = value;
_creatorId = value;
OnPropertyChanged(UserIdSelector);
}
}
@@ -169,5 +168,11 @@ namespace Umbraco.Core.Models
OnPropertyChanged(DatabaseTypeSelector);
}
}
internal override void AddingEntity()
{
base.AddingEntity();
Key = Guid.NewGuid();
}
}
}

View File

@@ -1,7 +1,6 @@
using System;
using System.Runtime.Serialization;
using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Membership;
namespace Umbraco.Core.Models
{
@@ -42,7 +41,7 @@ namespace Umbraco.Core.Models
/// Id of the user who created this entity
/// </summary>
[DataMember]
IProfile Creator { get; set; }
int CreatorId { get; set; }
/// <summary>
/// Boolean indicating whether this entity is Trashed or not.