[성현모] Update기능 추가, 중복 유니크키 예외처리 추가
This commit is contained in:
@ -25,38 +25,47 @@ namespace HubX.Server.Services
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
var data = context.TStorages.Where(x=>x.CIdentity == request.Identity);
|
||||
if (data?.Count() > 0)
|
||||
{
|
||||
Log4net.WriteLine($"Exist Unique Key", LogType.Error);
|
||||
response.Result = "Exist Unique Key";
|
||||
}
|
||||
else
|
||||
{
|
||||
var storage = new TStorage
|
||||
{
|
||||
CIdentity = request.Identity,
|
||||
CData1 = request.Data1,
|
||||
CData2 = request.Data2,
|
||||
CData3 = request.Data3,
|
||||
CData4 = request.Data4,
|
||||
CData5 = request.Data5,
|
||||
|
||||
//db error
|
||||
if (transactionResult == false)
|
||||
{
|
||||
response.Result = EnumResult.Failed.ToString();
|
||||
Log4net.WriteLine($"Transaction Error", LogType.Error);
|
||||
}
|
||||
else
|
||||
{
|
||||
Log4net.WriteLine($"Transaction Success", LogType.DB);
|
||||
CDateTime = DateTime.Now
|
||||
};
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -100,5 +109,49 @@ namespace HubX.Server.Services
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
public async Task<Response_UpdateUniqueKy> Request_UpdateUniqueKey(Request_UpdateUniqueKey request)
|
||||
{
|
||||
Response_UpdateUniqueKy response = new Response_UpdateUniqueKy();
|
||||
|
||||
if (request != null)
|
||||
{
|
||||
response.Identity = request.Identity;
|
||||
|
||||
bool transactionResult = true;
|
||||
var context = _efCoreService.GetDBContext<HubXContext>();
|
||||
if (context != null)
|
||||
{
|
||||
var selected = context.TStorages.First(x => x.CIdentity == request.Identity);
|
||||
if (selected != null)
|
||||
{
|
||||
selected.CData1 = request.Data1;
|
||||
selected.CData2 = request.Data2;
|
||||
selected.CData3 = request.Data3;
|
||||
selected.CData4 = request.Data4;
|
||||
selected.CData5 = request.Data5;
|
||||
|
||||
using (var transaction = await context.CreateTransactionAsync())
|
||||
{
|
||||
context.Update(selected);
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user