示例#1
0
        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 }));
        }
示例#2
0
 public async Task <IActionResult> CreateWithReceiver(
     [Bind(properties)] RequestTransactionView model)
 {
     return(await Create(model));
 }