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 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(); 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; } } }