With the interceptor you can:
public class MyInterceptor : EmptyInterceptor
{
public override bool OnFlushDirty(object entity, object id, object[]
currentState, object[] previousState, string[] propertyNames, IType[]
types)
{
int md = FindProperty("ModifiedDate", propertyNames);
if(md >= 0)
currentState[i] = DateTime.Now; //or via IoC
}
public override bool OnSave(object entity, object id, object[] state,
string[] propertyNames, IType[] types)
{
int md = FindProperty("CreatedDate", propertyNames);
if(md >= 0)
state[i] = DateTime.Now; //or via IoC
}
private static int FindProperty(string property, string[] propertyNames)
{
for (int i = 0; i < propertyNames.Length; i++)
{
if (propertyNames[i] == property)
return i;
}
return -1;