public CommonResponse <CategoryVM> SaveNewData(CategoryVM data, TableTransactionVM transaction) { CommonResponse <CategoryVM> result; using Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction dbTransaction = DbContext.Database.BeginTransaction(); try { string transactionId = TransactionRepository.InitializeTransaction(transaction); result = CategoryRepository.SaveData(data, transactionId); dbTransaction.Commit(); } catch (Exception e) { dbTransaction.Rollback(); Logger.LogError("Error Saving Category Data by IP Address {0} : {1}\nInner Ex : {2}", transaction?.IpAddress ?? "", e.Message ?? "", e.InnerException?.Message ?? "" ); result = new CommonResponse <CategoryVM> { Status = false, Code = "E-003", Message = "Save Data Failed! Please Contact an Web Administrator!", Data = new CategoryVM[] { data }, }; } return(result); }
public CommonResponse <UserVM> DeleteData([FromBody] UserVM data) { string myUserId = User.FindFirst(ClaimTypes.Name)?.Value; TableTransactionVM transaction = new TableTransactionVM { IpAddress = HttpContext.Connection.RemoteIpAddress.ToString(), UserId = myUserId, }; return(UserServices.DeleteData(data, transaction)); }
public CommonResponse <TicketStatusVM> SaveNewData([FromBody] TicketStatusVM data) { string myUserId = User.FindFirst(ClaimTypes.Name)?.Value; TableTransactionVM transaction = new TableTransactionVM { IpAddress = HttpContext.Connection.RemoteIpAddress.ToString(), UserId = myUserId, }; return(TicketStatusServices.SaveNewData(data, transaction)); }
public string InitializeTransaction(TableTransactionVM data) { if (data == null) { throw new ArgumentNullException(nameof(data)); } TableTransaction transactionData = new TableTransaction { Id = Guid.NewGuid().ToString("N"), IpAddress = data.IpAddress, UserId = data.UserId, CreatedAt = DateTime.Now, }; DbContext.Add(transactionData); DbContext.SaveChanges(); return(transactionData.Id); }