private MenuOptionResult ViewRequests() { List <Transfer> userTransfers = apiService.GetUserTransfers(); Console.WriteLine("Pending Requests"); Console.WriteLine("-------------------------------------------"); foreach (Transfer tran in userTransfers) { if (tran.AccountTo == UserService.GetUserId() && tran.TransferStatusId == 1) { Console.WriteLine($"Transfer ID:{tran.TransferId}\tTo:{tran.UsernameFrom}\tAmount:{tran.Amount:C}"); } } Console.WriteLine("-------------------------------------------"); //Ask for user input of Transfer ID Console.Write("Please input the Transfer ID you would like to Approve/Reject: "); //Read user input for Transfer ID Int32.TryParse(Console.ReadLine(), out int transferId); Console.WriteLine("Approve/Reject Transfer"); Console.WriteLine("-------------------------------------------"); Console.WriteLine("1: Approve"); Console.WriteLine("2: Reject"); Console.WriteLine("0: Don't approve or reject"); Console.WriteLine("-------------------------------------------"); Console.Write("Please input an option: "); Int32.TryParse(Console.ReadLine(), out int userSelection); //If 1, Get transfer via GetUserTransfers, update transfer type ID to 1, update transfer status to 1 if (userSelection == 1) { List <Transfer> transferList = apiService.GetUserTransfers(); List <Transfer> userInputTransfers = new List <Transfer>(); foreach (Transfer tran in transferList.ToList()) { if (tran.TransferId == transferId) { userInputTransfers.Add(tran); } } Transfer transferToUpdate = userInputTransfers[0]; if (apiService.GetAccount().Balance >= transferToUpdate.Amount) { transferToUpdate.TransferStatusId = 2; //Update transfers log apiService.UpdateTransfer(transferToUpdate.TransferId, transferToUpdate.AccountFrom, transferToUpdate.Amount, userSelection); //Send approved funds apiService.ApproveTransfer(transferToUpdate.AccountTo, transferToUpdate.Amount); Console.WriteLine("Transfer Approval is complete! \n"); } else { Console.WriteLine("Transfer Approval Denied: Insufficient Funds \n"); } } //If 2, update transfer status to 3 else if (userSelection == 2) { List <Transfer> transferList = apiService.GetUserTransfers(); List <Transfer> userInputTransfers = new List <Transfer>(); foreach (Transfer tran in transferList.ToList()) { if (tran.TransferId == transferId) { userInputTransfers.Add(tran); } } Transfer transferToUpdate = userInputTransfers[0]; transferToUpdate.TransferStatusId = 3; //Update transfers log apiService.UpdateTransfer(transferToUpdate.TransferId, transferToUpdate.AccountFrom, transferToUpdate.Amount, userSelection); Console.WriteLine("Transfer request has been rejected! Get that weak stuff outta here! \n"); } //If 0, return to main menu else { Console.WriteLine("It's ok. We're indecisive too.\n"); } Console.WriteLine("Press any key to return to main menu"); return(MenuOptionResult.WaitAfterMenuSelection); }