64 lines
1.9 KiB
C#
64 lines
1.9 KiB
C#
using DB.HubXDB;
|
|
using HubX.Library.Enums;
|
|
using HubX.Library.Http.Packet;
|
|
using SystemX.Core.DB;
|
|
|
|
namespace HubX.Server.Services
|
|
{
|
|
public class UniqueKeyService
|
|
{
|
|
private readonly EFCoreService _efCoreService;
|
|
|
|
public UniqueKeyService(EFCoreService efCoreService)
|
|
{
|
|
_efCoreService = efCoreService;
|
|
}
|
|
|
|
public async Task<Response_InsertUniqueKy> Request_InsertUniqueKey(Request_InsertUniqueKey request)
|
|
{
|
|
Response_InsertUniqueKy response = new Response_InsertUniqueKy();
|
|
|
|
if (request != null)
|
|
{
|
|
response.Identity = request.Identity;
|
|
|
|
var storage = new TStorage
|
|
{
|
|
CIdentity = request.Identity,
|
|
CData1 = request.Data1,
|
|
CData2 = request.Data2,
|
|
CData3 = request.Data3,
|
|
CData4 = request.Data4,
|
|
CData5 = request.Data5,
|
|
|
|
CDateTime = DateTime.Now
|
|
};
|
|
|
|
bool transactionResult = true;
|
|
var context = _efCoreService.GetDBContext<HubXContext>();
|
|
if (context != null)
|
|
{
|
|
using (var transaction = await context.CreateTransactionAsync())
|
|
{
|
|
await context.AddAsync(storage);
|
|
transactionResult = await context.CloseTransactionAsync(transaction);
|
|
}
|
|
}
|
|
|
|
//db error
|
|
if (transactionResult == false)
|
|
{
|
|
response.Result = EnumResult.Failed.ToString();
|
|
Log4net.WriteLine($"Transaction Error", LogType.Error);
|
|
}
|
|
else
|
|
{
|
|
Log4net.WriteLine($"Transaction Success", LogType.DB);
|
|
}
|
|
}
|
|
|
|
return response;
|
|
}
|
|
}
|
|
}
|