초기커밋
This commit is contained in:
58
ServerBase/Helper/TransactionRunnerHelper.cs
Normal file
58
ServerBase/Helper/TransactionRunnerHelper.cs
Normal file
@@ -0,0 +1,58 @@
|
||||
using Amazon.Runtime.Internal;
|
||||
using ServerControlCenter;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
|
||||
using ServerCore; using ServerBase;
|
||||
|
||||
|
||||
using TRANSACTION_NAME = System.String;
|
||||
using TRANSACTION_GUID = System.String;
|
||||
|
||||
|
||||
namespace ServerBase;
|
||||
|
||||
public class TransactionRunnerHelper
|
||||
{
|
||||
public static async Task<Result> runTransactionRunnerWithLogic( EntityBase owner
|
||||
, TransactionIdType transactionIdType, TRANSACTION_NAME transactionName
|
||||
, Func<Task<Result>> fnTransactLogic )
|
||||
{
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(owner, () => $"owner is null !!!");
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(fnTransactLogic, () => $"fnTransactLogic is null !!! - {owner.toBasicString()}");
|
||||
|
||||
using (var runner = new TransactionRunner(owner, transactionIdType, transactionName))
|
||||
{
|
||||
var result = runner.beginTransaction();
|
||||
if (result.isFail())
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
return await fnTransactLogic.Invoke();
|
||||
}
|
||||
}
|
||||
|
||||
public static async Task<Result> runTransactionRunnerWithLogic( EntityBase owner, TRANSACTION_GUID transGuid
|
||||
, TransactionIdType transactionIdType, TRANSACTION_NAME transactionName
|
||||
, Func<Task<Result>> fnTransactLogic )
|
||||
{
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(owner, () => $"owner is null !!!");
|
||||
ArgumentNullReferenceCheckHelper.throwIfNull(fnTransactLogic, () => $"fnTransactLogic is null !!! - {owner.toBasicString()}");
|
||||
|
||||
using (var runner = new TransactionRunner(owner, transGuid, transactionIdType, transactionName))
|
||||
{
|
||||
var result = runner.beginTransaction();
|
||||
if (result.isFail())
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
return await fnTransactLogic.Invoke();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user