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