Castle.Facilities.AutomaticTransactionManagement.TransactionMetaInfoStore.CreateMetaFromConfig C# (CSharp) Method

CreateMetaFromConfig() public method

public CreateMetaFromConfig ( Type implementation, MethodInfo methods, IConfiguration config ) : TransactionMetaInfo
implementation System.Type
methods System.Reflection.MethodInfo
config IConfiguration
return TransactionMetaInfo
		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;
		}