OpenAuth.Net/OpenAuth.Domain/Utility/ValueObjectBase.cs
yubaolee b4fc05a823 主页加载菜单按钮
重新修改了登陆逻辑
2015-05-22 17:45:18 +08:00

37 lines
930 B
C#

using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace OpenAuth.Domain.Utility
{
public abstract class ValueObjectBase
{
private List<BusinessRule> _brokenRules = new List<BusinessRule>();
public ValueObjectBase()
{
}
protected abstract void Validate();
public void ThrowExceptionIfInvalid()
{
_brokenRules.Clear();
Validate();
if (_brokenRules.Count() > 0)
{
StringBuilder issues = new StringBuilder();
foreach (BusinessRule businessRule in _brokenRules)
issues.AppendLine(businessRule.Rule);
throw new ValueObjectIsInvalidException(issues.ToString());
}
}
protected void AddBrokenRule(BusinessRule businessRule)
{
_brokenRules.Add(businessRule);
}
}
}