public async Task <IActionResult> Create([Bind(properties)] RequestTransactionView model) { bool senderExists = await checkIfSenderAccountExists(model.SenderAccountId); if (senderExists) { var receiverObject = await accounts.GetObject(model.ReceiverAccountId); var senderObject = await accounts.GetObject(model.SenderAccountId); bool senderIsOk = validateReceiverAndSender(receiverObject, senderObject); bool receiverIsOk = validateReceiver(receiverObject); if (senderIsOk && receiverIsOk) { model.ID = Guid.NewGuid().ToString(); var request = TransactionFactory.CreateRequest(model.ID, model.Amount, model.Explanation, model.SenderAccountId, model.ReceiverAccountId, TransactionStatus.Pending, DateTime.Now, model.ValidTo); await requests.AddObject(request); await generateRequestNotification(request); TempData["TransactionStatus"] = "Request successfully done to " + model.ReceiverAccountId + " from " + model.SenderAccountId + " in the amount of " + model.Amount + ". "; } } return(RedirectToAction("SentIndex", new { id = model.ReceiverAccountId })); }
public async Task <IActionResult> CreateWithReceiver( [Bind(properties)] RequestTransactionView model) { return(await Create(model)); }