30 lines
1007 B
C#
30 lines
1007 B
C#
|
using System;
|
|||
|
using FluentNHibernate.Conventions;
|
|||
|
using System.Reflection;
|
|||
|
using FluentNHibernate;
|
|||
|
using FluentNHibernate.Conventions.Instances;
|
|||
|
using FluentNHibernate.Conventions.Inspections;
|
|||
|
using FluentNHibernate.Conventions.AcceptanceCriteria;
|
|||
|
using Tanshu.Accounts.Contracts;
|
|||
|
using Tanshu.Accounts.SqlDAO;
|
|||
|
using System.Diagnostics;
|
|||
|
|
|||
|
namespace Tanshu.Accounts.Conventions
|
|||
|
{
|
|||
|
public class FormulaConvention : IPropertyConvention, IPropertyConventionAcceptance
|
|||
|
{
|
|||
|
public void Apply(IPropertyInstance instance)
|
|||
|
{
|
|||
|
var property = instance.Property;
|
|||
|
Trace.TraceInformation("Formula on {0}.{1}", property.DeclaringType.Name, property.Name);
|
|||
|
instance.Formula(AttributeChecker.GetFormula(property.MemberInfo));
|
|||
|
instance.Generated.Always();
|
|||
|
}
|
|||
|
public void Accept(IAcceptanceCriteria<IPropertyInspector> criteria)
|
|||
|
{
|
|||
|
criteria.Expect(x => AttributeChecker.Formula(x.Property.MemberInfo));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|