2014-02-10 19:35:32 +11:00
|
|
|
using System;
|
|
|
|
|
using System.Reflection;
|
|
|
|
|
using System.Runtime.Serialization;
|
|
|
|
|
using Umbraco.Core.Models.EntityBase;
|
|
|
|
|
|
|
|
|
|
namespace Umbraco.Core.Models
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Represents a member type
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Serializable]
|
|
|
|
|
[DataContract(IsReference = true)]
|
|
|
|
|
public class MemberGroup : Entity, IMemberGroup
|
|
|
|
|
{
|
|
|
|
|
private string _name;
|
2014-02-10 19:48:16 +11:00
|
|
|
private int _creatorId;
|
2014-02-10 19:35:32 +11:00
|
|
|
|
|
|
|
|
private static readonly PropertyInfo NameSelector = ExpressionHelper.GetPropertyInfo<MemberGroup, string>(x => x.Name);
|
2014-02-10 19:48:16 +11:00
|
|
|
private static readonly PropertyInfo CreatorIdSelector = ExpressionHelper.GetPropertyInfo<MemberGroup, int>(x => x.CreatorId);
|
2014-02-10 19:35:32 +11:00
|
|
|
|
|
|
|
|
[DataMember]
|
|
|
|
|
public string Name
|
|
|
|
|
{
|
|
|
|
|
get { return _name; }
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
SetPropertyValueAndDetectChanges(o =>
|
|
|
|
|
{
|
|
|
|
|
_name = value;
|
|
|
|
|
return _name;
|
|
|
|
|
}, _name, NameSelector);
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-02-10 19:48:16 +11:00
|
|
|
|
|
|
|
|
public int CreatorId
|
|
|
|
|
{
|
|
|
|
|
get { return _creatorId; }
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
SetPropertyValueAndDetectChanges(o =>
|
|
|
|
|
{
|
|
|
|
|
_creatorId = value;
|
|
|
|
|
return _creatorId;
|
|
|
|
|
}, _creatorId, CreatorIdSelector);
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-02-11 19:21:36 +11:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Method to call when Entity is being saved
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <remarks>Created date is set and a Unique key is assigned</remarks>
|
|
|
|
|
internal override void AddingEntity()
|
|
|
|
|
{
|
|
|
|
|
base.AddingEntity();
|
|
|
|
|
|
|
|
|
|
if (Key == Guid.Empty)
|
|
|
|
|
Key = Guid.NewGuid();
|
|
|
|
|
}
|
2014-02-10 19:35:32 +11:00
|
|
|
}
|
|
|
|
|
}
|