public HttpStatusCode Post([FromBody] PurchaseOrder purchaseOrder)
        {
            // Grab current users information
            var currentUser = HttpContext.User;

            Transaction transaction = new Transaction();

            // Check to see if the user identity has been validated and snag UserId
            if (currentUser.Claims.Any(c => c.Type == "UserId"))
            {
                transaction.PurchaseOrder   = purchaseOrder;
                transaction.TransactionTime = DateTime.Now.ToUniversalTime();
                transaction.UserId          = int.Parse(currentUser.Claims.First(i => i.Type == "UserId").Value);
            }
            else
            {
                return(HttpStatusCode.Forbidden);
            }

            // Grab user that is associated with the transaction
            User transactionUser = _users.First(u => u.UserId == transaction.UserId);

            // Grab the item price that is associated with the purchase item
            int itemPrice = _inventory.First(i => i.ItemId == purchaseOrder.ItemId).Price;

            // Validate transaction
            bool isValidTransaction = TransactionExtensions.ValidateTransaction(transaction, transactionUser.AccountBalance, itemPrice);

            if (isValidTransaction)
            {
                // Decrement account balance in DB
                transactionUser.AccountBalance = (transactionUser.AccountBalance - (transaction.PurchaseOrder.Quantity * itemPrice));

                // Add transaction in DB | DB would increment the transactionID up
                _transactions.Add(transaction);

                // Return successful response
                return(HttpStatusCode.Accepted);
            }

            // Return failed response
            return(HttpStatusCode.Forbidden);
        }