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)); } }
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)); }
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)); }
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)); }