protected virtual void OnGetConnection(ExecuteTransactionInitConnectionEventArgs e)
 {
     if (InitConnection != null)
     {
         InitConnection(this, e);
     }
 }
        public virtual DbConnection GetConnection()
        {
            ExecuteTransactionInitConnectionEventArgs args = new ExecuteTransactionInitConnectionEventArgs();

            OnGetConnection(args);
            if (args.Connection == null)
            {
                throw new Exception("Connection is not initilized");
            }
            return(args.Connection);
        }