public TransactionMetaInfo CreateMetaFromConfig(Type implementation, MethodInfo[] methods, IConfiguration config)
{
TransactionMetaInfo metaInfo = GetMetaFor(implementation);
if (metaInfo == null)
{
metaInfo = new TransactionMetaInfo();
}
foreach (MethodInfo method in methods)
{
String transactionMode = config.Attributes[TransactionModeAtt];
String isolationLevel = config.Attributes[IsolationModeAtt];
TransactionMode mode = ObtainTransactionMode(implementation, method, transactionMode);
IsolationMode level = ObtainIsolation(implementation, method, isolationLevel);
metaInfo.Add(method, new TransactionAttribute(mode, level));
}
Register(implementation, metaInfo);
return metaInfo;
}