Files
Umbraco-CMS/src/Umbraco.Core/Models/PublicAccessRule.cs
2016-01-13 12:32:30 +01:00

59 lines
1.6 KiB
C#

using System;
using System.Reflection;
using System.Runtime.Serialization;
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Models
{
[Serializable]
[DataContract(IsReference = true)]
public class PublicAccessRule : Entity
{
private string _ruleValue;
private string _ruleType;
public PublicAccessRule(Guid id, Guid accessEntryId)
{
AccessEntryId = accessEntryId;
Key = id;
Id = Key.GetHashCode();
}
public PublicAccessRule()
{
}
private static readonly PropertyInfo RuleValueSelector = ExpressionHelper.GetPropertyInfo<PublicAccessRule, string>(x => x.RuleValue);
private static readonly PropertyInfo RuleTypeSelector = ExpressionHelper.GetPropertyInfo<PublicAccessRule, string>(x => x.RuleType);
public Guid AccessEntryId { get; internal set; }
public string RuleValue
{
get { return _ruleValue; }
set
{
SetPropertyValueAndDetectChanges(o =>
{
_ruleValue = value;
return _ruleValue;
}, _ruleValue, RuleValueSelector);
}
}
public string RuleType
{
get { return _ruleType; }
set
{
SetPropertyValueAndDetectChanges(o =>
{
_ruleType = value;
return _ruleType;
}, _ruleType, RuleTypeSelector);
}
}
}
}