예제 #1
0
        public DbResult <T> UseTran <T>(Func <T> action)
        {
            var result = new DbResult <T>();

            try
            {
                this.BeginTran();
                if (action != null)
                {
                    result.Data = action();
                }
                this.CommitTran();
                result.IsSuccess = true;
            }
            catch (Exception ex)
            {
                result.ErrorException = ex;
                result.ErrorMessage   = ex.Message;
                result.IsSuccess      = false;
                this.RollbackTran();
            }
            return(result);
        }
예제 #2
0
        public abstract void BeginTran(IsolationLevel iso, string transactionName); //Only SqlServer

        #endregion

        #region Use
        public DbResult <bool> UseTran(Action action)
        {
            var result = new DbResult <bool>();

            try
            {
                this.BeginTran();
                if (action != null)
                {
                    action();
                }
                this.CommitTran();
                result.Data = result.IsSuccess = true;
            }
            catch (Exception ex)
            {
                result.Exception = ex;
                result.Messaage  = ex.Message;
                result.IsSuccess = false;
                this.RollbackTran();
            }
            return(result);
        }