narsil/Tanshu.Accounts.Repository/Fluent/FormulaConvention.cs
unknown 59909a5ee7 Updated NH, Code Refactoring, made all DB transactions atomic.
Must use the Repositories with Using or else bad things will happen.
2011-06-30 01:57:07 +05:30

26 lines
911 B
C#

using FluentNHibernate.Conventions;
using FluentNHibernate.Conventions.Instances;
using FluentNHibernate.Conventions.Inspections;
using FluentNHibernate.Conventions.AcceptanceCriteria;
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));
}
}
}