public bool Update(TransactionUpdateDTO entity)
        {
            var transactionEntity = Mapper.Map <TransactionEntity>(entity);

            transactionEntity.UserId = Convert.ToInt32(HttpContextAccessor.HttpContext.User.Claims.First(x => x.Type == ClaimTypes.Name).Value);
            UnitOfWork.TransactionRepository.Update(transactionEntity);
            return(UnitOfWork.Save() > 0);
        }
        public async Task <bool> Add(TransactionUpdateDTO entity)
        {
            var transactionEntity = Mapper.Map <TransactionEntity>(entity);

            transactionEntity.UserId = Convert.ToInt32(HttpContextAccessor.HttpContext.User.Claims.First(x => x.Type == ClaimTypes.NameIdentifier).Value);
            var context = HttpContextAccessor.HttpContext;
            await UnitOfWork.TransactionRepository.Insert(transactionEntity);

            return(UnitOfWork.Save() > 0);
        }
        public IActionResult Patch(int transactionId, TransactionUpdateDTO transaction)
        {
            if (transaction == default || transactionId != transaction.Id)
            {
                return(BadRequest(ModelState));
            }
            var result = Transaction.Update(transaction);

            if (!result)
            {
                ModelState.AddModelError("", $"Something went wrong while updating the record {transaction.Name}.");
                return(StatusCode(500, ModelState));
            }
            return(NoContent());
        }
        public async Task <ActionResult> Post(TransactionUpdateDTO transaction)
        {
            if (transaction == default)
            {
                return(BadRequest(ModelState));
            }
            var result = await Transaction.Add(transaction);

            if (!result)
            {
                ModelState.AddModelError("", $"Something went wrong while saving the record {transaction.Name}.");
                return(StatusCode(500, ModelState));
            }
            var vers = HttpContext.GetRequestedApiVersion().ToString();

            return(CreatedAtRoute("GetTransaction", new { version = HttpContext.GetRequestedApiVersion().ToString(), id = transaction.Id }, transaction));
        }