public ReturnTransfer GetSingleTransfer(int id) { ReturnTransfer output = new ReturnTransfer(); try { using (SqlConnection conn = new SqlConnection(ConnectionString)) { conn.Open(); SqlCommand cmd = new SqlCommand("select * from transfers " + "where transfer_id = @transferId", conn); cmd.Parameters.AddWithValue("@transferId", id); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { output = GetTransferFromReader(reader); } return(output); } } catch (Exception) { throw; } }
public ActionResult <ReturnTransfer> GetSingleTransfer(int id) { ReturnTransfer result = TransferDAO.GetSingleTransfer(id); result.FromName = AccountDAO.GetName(result.Account_from); result.ToName = AccountDAO.GetName(result.Account_to); result.TransferStatus = TransferDAO.GetTransferStatus(result.Transfer_status_id); result.TransferType = TransferDAO.GetTransferType(result.Transfer_type_id); return(result); }
private ReturnTransfer GetTransferFromReader(SqlDataReader reader) { int transferId = Convert.ToInt32(reader["transfer_id"]); int transferTypeId = Convert.ToInt32(reader["transfer_type_id"]); int transferStatusId = Convert.ToInt32(reader["transfer_status_id"]); int accountFrom = Convert.ToInt32(reader["account_from"]); int accountTo = Convert.ToInt32(reader["account_to"]); decimal amount = Convert.ToDecimal(reader["amount"]); ReturnTransfer transfer = new ReturnTransfer(transferId, transferTypeId, transferStatusId, accountFrom, accountTo, amount); return(transfer); }
public List <ReturnTransfer> GetTransfers(int userId)//#5 in Read me { List <ReturnTransfer> listOfTransfers = new List <ReturnTransfer>(); try { using (TransactionScope transaction = new TransactionScope()) { using (SqlConnection conn = new SqlConnection(ConnectionString)) { conn.Open(); SqlCommand command = new SqlCommand("select * from transfers " + "where account_from = @userId or account_to = @userId", conn); command.Parameters.AddWithValue("@userId", userId); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { ReturnTransfer returnTransfer = GetTransferFromReader(reader); listOfTransfers.Add(returnTransfer); } conn.Close(); conn.Open(); foreach (ReturnTransfer transfer in listOfTransfers) { SqlCommand comm2 = new SqlCommand("select username from users " + "join accounts on accounts.user_id = users.user_id " + "where account_id = @account_id", conn); comm2.Parameters.AddWithValue("@account_id", transfer.Account_from); transfer.FromName = Convert.ToString(comm2.ExecuteScalar()); SqlCommand comm3 = new SqlCommand("select username from users " + "join accounts on accounts.user_id = users.user_id " + "where account_id = @account_id", conn); comm3.Parameters.AddWithValue("@account_id", transfer.Account_to); transfer.ToName = Convert.ToString(comm3.ExecuteScalar()); } transaction.Complete(); return(listOfTransfers); } } } catch (Exception) { throw; } }
private static void GetPendingTransfers() { bool transferSelected = false; do { Console.Clear(); List <ReturnTransfer> transfers = transferService.GetTransfers(UserService.GetUserId()); if (transfers == null || transfers.Count == 0) { Console.WriteLine("Sorry we couldn't find any transfers"); Console.WriteLine("Press enter to return"); Console.ReadLine(); return; } Console.WriteLine("-------------------------------------------"); Console.WriteLine("Transfers"); Console.Write("ID"); Console.Write("To".PadLeft(17)); Console.WriteLine("Amount".PadLeft(17)); Console.WriteLine("-------------------------------------------"); foreach (ReturnTransfer transfer in transfers) { if (transfer.Transfer_status_id == 1 && transfer.Account_from == UserService.GetUserId()) { Console.Write($"{transfer.Transfer_id}".PadRight(10)); Console.Write("To: ".PadRight(6)); Console.Write($"{transfer.ToName}"); Console.WriteLine($"{transfer.Amount:C2}".PadLeft(15)); } } Console.WriteLine("---------"); Console.Write("Please enter transfer ID to approve/reject (0 to cancel): "); string approveRejectTransferChoice = Console.ReadLine().Trim(); try { if (Convert.ToInt32(approveRejectTransferChoice) == 0) { return; } ReturnTransfer approveRejectTransfer = transferService.GetTransfer(Convert.ToInt32(approveRejectTransferChoice)); if (approveRejectTransfer.Transfer_id != 0 && approveRejectTransfer.Transfer_status_id == 1 && approveRejectTransfer.Account_from == UserService.GetUserId() && approveRejectTransfer.Amount <= accountService.GetBalance(UserService.GetUserId())) { Console.WriteLine("1: Approve"); Console.WriteLine("2: Reject"); Console.WriteLine("3: Don't approve or reject"); Console.WriteLine("---------"); Console.Write("Please choose an option: "); string approveReject = Console.ReadLine(); switch (approveReject) { case "1": ; approveRejectTransfer.Transfer_status_id = 2; transferService.UpdateTransferStatus(approveRejectTransfer); transferSelected = true; Console.WriteLine("Transfer Approved"); break; case "2": approveRejectTransfer.Transfer_status_id = 3; transferService.UpdateTransferStatus(approveRejectTransfer); transferSelected = true; Console.WriteLine("Transfer Rejected"); break; case "3": transferSelected = true; return; default: return; } } else if (approveRejectTransfer.Amount > accountService.GetBalance(UserService.GetUserId())) { Console.WriteLine("You don't have enough funds to fulfill this request."); } else { Console.WriteLine("Please choose a valid transfer"); } } catch { Console.WriteLine("Please enter a valid option"); } } while (!transferSelected); }
private static void ViewTransfers() { Console.Clear(); List <ReturnTransfer> transfers = transferService.GetTransfers(UserService.GetUserId()); if (transfers == null || transfers.Count == 0) { Console.WriteLine("Sorry we couldn't find any transfers"); Console.WriteLine("Press enter to return"); Console.ReadLine(); return; } Console.WriteLine("-------------------------------------------"); Console.WriteLine("Transfers"); Console.Write("ID"); Console.Write("From/To".PadLeft(17)); Console.WriteLine("Amount".PadLeft(17)); Console.WriteLine("-------------------------------------------"); foreach (ReturnTransfer transfer in transfers) { if (transfer.Transfer_status_id == 2) { Console.Write($"{transfer.Transfer_id}".PadRight(10)); if (transfer.FromName == UserService.GetUserName()) { Console.Write("To: ".PadRight(6)); Console.Write($"{transfer.ToName}"); Console.WriteLine($"{transfer.Amount:C2}".PadLeft(15)); } else { Console.Write("From: "); Console.Write($"{transfer.FromName}"); Console.WriteLine($"{transfer.Amount:C2}".PadLeft(15)); } } } Console.WriteLine("---------"); bool validTransfer = false; do { Console.Write("Please enter the transfer ID to view details (0 to cancel): "); string userInput = Console.ReadLine().Trim(); if (userInput == "0") { Console.Clear(); return; } try { ReturnTransfer returnTransfer = transferService.GetTransfer(Convert.ToInt32(userInput)); if (returnTransfer.Transfer_id != 0) { Console.WriteLine("-------------------------------------------"); Console.WriteLine("Transfer Details"); Console.WriteLine("-------------------------------------------"); Console.WriteLine($"Id: {returnTransfer.Transfer_id}"); Console.WriteLine($"From: {returnTransfer.FromName}"); Console.WriteLine($"To: {returnTransfer.ToName}"); Console.WriteLine($"Type: {returnTransfer.TransferType}"); Console.WriteLine($"Status: {returnTransfer.TransferStatus}"); Console.WriteLine($"Amount: {returnTransfer.Amount:C2}"); Console.WriteLine("-------------------------------------------"); Console.WriteLine("Please press enter to return"); Console.ReadLine(); Console.Clear(); validTransfer = true; } else { Console.WriteLine("Please select a valid transfer."); } } catch { Console.WriteLine("Please select a valid transfer"); } } while (!validTransfer); }