Exemplo n.º 1
0
        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));
        }
Exemplo n.º 3
0
        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);
        }