Example #1
0
 public static void ProcessRDIDb(UserInfo userInfo, ParameterUtil parameter, ProcessFunDelegate fun)
 {
     if (SystemInfo.IsAuthorized(userInfo))
     {
         ProcessDb(parameter, fun, DbType.RDIDb);
     }
 }
Example #2
0
        private static void ProcessDb(ParameterUtil parameter, ProcessFunDelegate fun, DbType dbType, bool inTransaction = false)
        {
            int milliStart = Begin(parameter.UserInfo, parameter.CurrentMethod);

            ProcessDbProvider(parameter, fun, dbType, inTransaction);
            End(milliStart, parameter.CurrentMethod);
        }
Example #3
0
 private static void ProcessDbProvider(ParameterUtil sup, ProcessFunDelegate fun, DbType dbType, bool inTransaction)
 {
     using (IDbProvider dbProvider = DbFactoryProvider.GetProvider(GetDbType(dbType)))
     {
         try
         {
             dbProvider.Open(GetDbConnection(dbType));
             if (inTransaction)
             {
                 dbProvider.BeginTransaction();
             }
             fun(dbProvider);
             AddLog(dbProvider, sup);
             if (inTransaction)
             {
                 dbProvider.CommitTransaction();
             }
         }
         catch (Exception ex)
         {
             if (inTransaction)
             {
                 dbProvider.RollbackTransaction();
             }
             CiExceptionManager.LogException(dbProvider, sup.UserInfo, ex);
             throw;
         }
         finally
         {
             dbProvider.Close();
         }
     }
 }
Example #4
0
 public static void ProcessRDIWriteDbWithLock(UserInfo userInfo, ParameterUtil parameter, object locker, ProcessFunDelegate fun)
 {
     if (SystemInfo.IsAuthorized(userInfo))
     {
         int milliStart = Begin(parameter.UserInfo, parameter.CurrentMethod);
         lock (locker)
         {
             ProcessDbProvider(parameter, fun, DbType.RDIDbWrite, false);
         }
         End(milliStart, parameter.CurrentMethod);
     }
 }
Example #5
0
 public static void ProcessWorkFlowDbWithTransaction(UserInfo userInfo, ParameterUtil parameter, ProcessFunDelegate fun)
 {
     if (SystemInfo.IsAuthorized(userInfo))
     {
         ProcessDb(parameter, fun, DbType.WorkFlow, true);
     }
 }