| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223 | using SqlSugar;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;using System.Threading.Tasks;namespace WCS_Client{    public class TryCachHelper    {        public static void TryExecute(Action action)        {            try            {                action();            }            catch (Exception ex)            {                LogHelper.Sys_Log.WriteLog(ex.ToString());            }            finally            {            }        }        public static string TryExecute2(Action action)        {            string result = string.Empty;            try            {                action();            }            catch (Exception ex)            {                result = ex.Message;                LogHelper.Sys_Log.WriteLog(ex.ToString());            }            finally            {            }            return result;        }        /// <summary>        /// 无事务无返回值的通用代码        /// </summary>        /// <param name="action"></param>        /// <returns></returns>        public static string TryExecute(Action<SqlSugarClient> action)        {            string msg = string.Empty;            SqlSugarClient db = null;            try            {                db = SugarClient.GetInstance();                action(db);            }            catch (Exception ex)            {                msg = ex.Message;                LogHelper.Sys_Log.WriteLog(ex.ToString());            }            finally            {                if (db != null) ((IDisposable)db).Dispose();            }            return msg;        }        /// <summary>        /// 无事务的有返回值通用代码        /// </summary>        /// <param name="func"></param>        /// <returns></returns>        public static string TryFuncExecute(Func<SqlSugarClient, string> func)        {            string msg = string.Empty;            SqlSugarClient db = null;            try            {                db = SugarClient.GetInstance();                msg = func(db);            }            catch (Exception ex)            {                msg = ex.Message;                LogHelper.Sys_Log.WriteLog(ex.ToString());            }            finally            {                if (db != null) ((IDisposable)db).Dispose();            }            return msg;        }        public static void TryExecute(Action<SqlSugarClient> action, string methodName)        {            SqlSugarClient db = null;            try            {                db = SugarClient.GetInstance();                action(db);            }            catch (Exception ex)            {                LogHelper.Sys_Log.WriteLog(ex.ToString());            }            finally            {                if (db != null) ((IDisposable)db).Dispose();            }        }        /// <summary>        /// 有事务的无返回值通用代码        /// </summary>        /// <param name="action"></param>        /// <returns></returns>        public static string TryTranExecute(Action<SqlSugarClient> action)        {            string msg = string.Empty;            SqlSugarClient db = null;            try            {                db = SugarClient.GetInstance();                db.Ado.BeginTran();                action(db);                db.Ado.CommitTran();            }            catch (Exception ex)            {                msg = ex.Message;                if (db != null) db.Ado.RollbackTran();                LogHelper.Sys_Log.WriteLog(ex.ToString());            }            finally            {                if (db != null) ((IDisposable)db).Dispose();            }            return msg;        }        /// <summary>        /// 有事务的无返回值通用代码        /// </summary>        /// <param name="action"></param>        /// <returns></returns>        public static string TryTranExecute(Action<SqlSugarClient> action, int loc)        {            string msg = string.Empty;            if (Interlocked.Exchange(ref loc, 1) == 0)            {                SqlSugarClient db = null;                try                {                    db = SugarClient.GetInstance();                    db.Ado.BeginTran();                    action(db);                    db.Ado.CommitTran();                }                catch (Exception ex)                {                    msg = ex.Message;                    if (db != null) db.Ado.RollbackTran();                    LogHelper.Sys_Log.WriteLog(ex.ToString());                }                finally                {                    if (db != null) ((IDisposable)db).Dispose();                    Interlocked.Exchange(ref loc, 0);                }            }            return msg;        }        /// <summary>        /// 有事务的有返回值通用代码        /// </summary>        /// <param name="action"></param>        /// <returns></returns>        public static object TryTranFuncExecute(Func<SqlSugarClient, object> func)        {            object obj = null;            SqlSugarClient db = null;            try            {                db = SugarClient.GetInstance();                db.Ado.BeginTran();                obj = func(db);                db.Ado.CommitTran();            }            catch (Exception ex)            {                obj = null;                if (db != null) db.Ado.RollbackTran();                LogHelper.Sys_Log.WriteLog(ex.ToString());            }            finally            {                if (db != null) ((IDisposable)db).Dispose();            }            return obj;        }        public static void TryTranExecute(Action<SqlSugarClient> action, string methodName)        {            SqlSugarClient db = null;            try            {                db = SugarClient.GetInstance();                db.Ado.BeginTran();                action(db);                db.Ado.CommitTran();            }            catch (Exception ex)            {                if (db != null) db.Ado.RollbackTran();                LogHelper.Sys_Log.WriteLog(ex.ToString());            }            finally            {                if (db != null) ((IDisposable)db).Dispose();            }        }    }}
 |