예제 #1
0
        public ActionResult <TransactionDto> CreateTransaction(int stockItemID, [FromBody] TransactionDto newTransaction)
        {
            if (newTransaction.StockItemID != stockItemID)
            {
                return(BadRequest("Inconsistent stock item ID"));
            }
            try
            {
                newTransaction.LastEditedBy    = 1; // TODO : Get current user ID
                newTransaction.LastEditedWhen  = DateTime.Now;
                newTransaction.SupplierID      = null;
                newTransaction.CustomerID      = null;
                newTransaction.InvoiceID       = null;
                newTransaction.PurchaseOrderID = null;
                var createTransaction = _repo.CreateTransaction(newTransaction);

                return(Created(
                           $"{Request.Scheme}://{Request.Host}{Request.Path}/{newTransaction.StockItemTransactionID}",
                           createTransaction
                           ));
            }
            catch (InvalidOperationException e)
            {
                return(BadRequest(e.Message));
            }
            catch (ArgumentOutOfRangeException e)
            {
                return(BadRequest(e.Message));
            }
            catch (SqlException e)
            {
                return(BadRequest(e.Message));
            }
        }
예제 #2
0
        public async Task <IActionResult> Create([Bind("Id,SeatNumber,MovieId,UserId,StartTime,Status")] Transaction transaction)
        {
            if (ModelState.IsValid)
            {
                await Task.Run(() => _transactionRepository.CreateTransaction(transaction));

                return(RedirectToAction(nameof(Index)));
            }
            return(View(transaction));
        }
예제 #3
0
        public ResponseModel <List <TransactionsModel> > CreateTransaction(TransactionsModel model)
        {
            if (_dateTimeHelper.GetDateTimeNow() < model.TransactionDate)
            {
                return(FailResponse(1, "TransactionDate cannot be greater than the current date"));
            }
            if (model.Amount == 0)
            {
                return(FailResponse(2, "Amount cannot be 0"));
            }
            var accountActive = _accountsRepo.IsAccountActive(model.AccountCode);

            if (!accountActive)
            {
                return(FailResponse(3, "Cannot post transactions to a closed account"));
            }

            _accountsRepo.AdjustAccountBalance(model.AccountCode, model.Amount);

            return(_repo.CreateTransaction(model));
        }
예제 #4
0
 public async Task <Transaction> CreateTransaction(string userName, double amount)
 {
     return(await _transactionsRepository.CreateTransaction(userName, amount));
 }
        public ActionResult Post(string settlementId, [FromBody] NewTransaction transaction)
        {
            var id = _transactionsRepository.CreateTransaction(settlementId, transaction);

            return(Ok(id));
        }