public override object Process(Func <dynamic> func,
                                IObjectProvider objectProvider,
                                Type targetType,
                                object invocationTarget,
                                MethodInfo method,
                                object[] arguments)
 {
     return(TransactionExtension.DoInTransaction(func,
                                                 IsolationLevel,
                                                 Scope));
 }
 public override void Process(Action func,
                              IObjectProvider objectProvider,
                              Type targetType,
                              object invocationTarget,
                              MethodInfo method,
                              object[] arguments)
 {
     TransactionExtension.DoInTransaction(func,
                                          IsolationLevel,
                                          Scope);
 }
 public override Task <T> ProcessAsync <T>(Func <Task <T> > funcAsync,
                                           IObjectProvider objectProvider,
                                           Type targetType,
                                           object invocationTarget,
                                           MethodInfo method,
                                           object[] arguments)
 {
     return(TransactionExtension.DoInTransactionAsync(funcAsync,
                                                      IsolationLevel,
                                                      Scope));
 }