Exemplo n.º 1
0
        public TaskCompletionSource <int> Run(Func <int> func, string actionName, TransactionModes mode, object oneByOneKey = null)
        {
            var future = new TaskCompletionSource <int>();

            switch (mode)
            {
            case TransactionModes.ExecuteInTheCallerTransaction:
                future.SetResult(func());
                break;

            case TransactionModes.ExecuteInNestedCall:
                future.SetResult(NewProcedure(func, actionName).Call());
                break;

            case TransactionModes.ExecuteInAnotherThread:
                if (null != oneByOneKey)
                {
                    TaskOneByOneByKey.Execute(oneByOneKey,
                                              () => future.SetResult(NewProcedure(func, actionName).Call()),
                                              actionName);
                }
                else
                {
                    Zeze.Util.Task.Run(
                        () => future.SetResult(NewProcedure(func, actionName).Call()),
                        actionName);
                }
                break;
            }
            return(future);
        }
Exemplo n.º 2
0
 public bool UpdateUserRoleData(UserRole entity, TransactionModes mode)
 {
     using (var conn = GetOpenConnection())
     {
         var parameters = GetUserRolesParameters(entity, mode);
         conn.Query <int>("Admin.UserRoleCUD", parameters, commandType: CommandType.StoredProcedure);
         return(parameters.Get <int>("output") > 0);
     }
 }
Exemplo n.º 3
0
        private DynamicParameters GetUserRolesParameters(UserRole entity, TransactionModes mode)
        {
            var parameters = new DynamicParameters();

            parameters.Add("@TransMode", (int)mode, DbType.Int32);
            parameters.Add("@UserRoleId", entity.UserRoleId, DbType.Int32);
            parameters.Add("@UserRoleName", entity.UserRoleName, DbType.String);
            parameters.Add("@IsActive", entity.IsActive, DbType.Boolean);
            // parameters.Add("@Id", entity.i, DbType.Int32);
            parameters.Add("@output", dbType: DbType.Int32, direction: ParameterDirection.Output);
            return(parameters);
        }
Exemplo n.º 4
0
 public static extern DbRetCode mdb_txn_begin(IntPtr env, IntPtr parent, TransactionModes flags, out IntPtr txn);
Exemplo n.º 5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="transactionModes"></param>
 internal GatewayCommandCloseTransaction(TransactionModes transactionModes)
 {
     this.TransactionModes = transactionModes;
 }
Exemplo n.º 6
0
 /// <summary>
 ///
 /// </summary>
 internal GatewayCommandCloseTransaction()
 {
     this.TransactionModes = TransactionModes.Commit;
 }
 public CloseTransactionLocalDataViewCommandBase(IClientCommand command)
     : base(command)
 {
     TransactionModes = TransactionModes.Abort;
 }