Esempio n. 1
0
        public ActionResult <List <Transfer> > GetTransfersByUser(int id, bool pending = false)
        {
            List <Transfer> transfers;

            if (pending)
            {
                transfers = transferDAO.GetPendingByUser(id);
            }
            else
            {
                transfers = transferDAO.GetTransfersByUser(id);
            }

            return(Ok(transfers));
        }
Esempio n. 2
0
        private MenuOptionResult ViewRequests()
        {
            List <Transfer> transfers = transferDAO.GetPendingByUser(UserService.GetUserId());

            Console.WriteLine("-----------------------------------------");
            Console.WriteLine("Pending Transfers");
            Console.WriteLine($"{"ID",-10}{"To",-19}{"Amount",-10}\n");
            Console.WriteLine("-----------------------------------------");


            foreach (Transfer transfer in transfers)
            {
                Console.WriteLine($"{transfer.TransferId,-10}{transfer.UserNameTo,-19}{transfer.Amount,-10:c}");
            }

            int transferId = GetInteger("\nPlease enter transfer ID to approve/reject (0 to cancel): ");

            if (transferId == 0)
            {
                return(MenuOptionResult.DoNotWaitAfterMenuSelection);
            }

            Transfer selectedTransfer = transfers.Find(t => t.TransferId == transferId);

            Console.Clear();
            Console.WriteLine("1: Approve");
            Console.WriteLine("2: Reject");
            Console.WriteLine("0: Don't approve or reject");

            int action = GetInteger("Please choose an option: ");

            if (action == 1)
            {
                Account userAccount = accountDAO.GetAccountByUserId(UserService.GetUserId());
                if (selectedTransfer.Amount > userAccount.Balance)
                {
                    Console.WriteLine("You do not have enough funds to complete the transfer.");
                    return(MenuOptionResult.WaitAfterMenuSelection);
                }

                selectedTransfer.TransferStatus = TransferStatus.Approved;

                bool wasTransferred = transferDAO.UpdateTransfer(selectedTransfer);

                if (wasTransferred)
                {
                    Console.WriteLine("Successful transfer!");
                }
                else
                {
                    Console.WriteLine("Transfer failed.");
                }
            }
            else if (action == 2)
            {
                selectedTransfer.TransferStatus = TransferStatus.Rejected;

                bool wasTransferred = transferDAO.UpdateTransfer(selectedTransfer);

                if (wasTransferred)
                {
                    Console.WriteLine("Transfer rejection complete!");
                }
                else
                {
                    Console.WriteLine("Transfer rejection failed.");
                }
            }
            else
            {
                return(MenuOptionResult.DoNotWaitAfterMenuSelection);
            }


            return(MenuOptionResult.WaitAfterMenuSelection);
        }