//Jenna McCarter - get information about the latest transaction and return as a accountSavingsModel public accountSavingsModel getLatestTransaction() { //check if there is a history of transactions if (Request.Cookies["SavingsAccountHistory"] != null) { string transactionCount; if (Request.Cookies["SavingsAccountHistory"]["HistoryRowCount"] != null) { //if there is, get the count to find the latest transaction transactionCount = Request.Cookies["SavingsAccountHistory"]["HistoryRowCount"]; string lastTransactionCookieName = "HistoryRowCount" + transactionCount; if (Request.Cookies[lastTransactionCookieName]["balance"] != null) { //from cookie, get information about transaction accountSavingsModel row = new accountSavingsModel(); row.Balance = Convert.ToDouble(Request.Cookies[lastTransactionCookieName]["balance"]); row.TransactionDate = Request.Cookies[lastTransactionCookieName]["date"]; row.TransactionID = Convert.ToInt16(Request.Cookies[lastTransactionCookieName]["id"]); row.Transaction = Convert.ToDouble(Request.Cookies[lastTransactionCookieName]["transaction"]); return(row); } } } //if there is not a history, return a blank model accountSavingsModel newRow = new accountSavingsModel(); newRow.Balance = 0.0; newRow.TransactionID = 0; newRow.TransactionDate = "N/A"; newRow.Transaction = 0.0; return(newRow); }
//Jenna McCarter - save new transaction in a cookie public void createNewTransaction(int oldId, double transaction) { //todays date DateTime today = DateTime.Today; //create new model with new transaction information accountSavingsModel newTransaction = new accountSavingsModel(); newTransaction.TransactionDate = today.ToLongDateString(); newTransaction.Balance = 0 + transaction; newTransaction.TransactionID = 1 + oldId; //get current balance and get new balance string lastTransactionCookieName = "HistoryRowCount" + oldId; if (Request.Cookies[lastTransactionCookieName] != null) { if (Request.Cookies[lastTransactionCookieName]["balance"] != null) { double oldbalance = Convert.ToDouble(Request.Cookies[lastTransactionCookieName]["balance"]); newTransaction.Balance = oldbalance + transaction; } } //save new transaction in a new cookie string newTransactionCookieName = "HistoryRowCount" + newTransaction.TransactionID; HttpCookie rowCookie = new HttpCookie(newTransactionCookieName); rowCookie["id"] = newTransaction.TransactionID.ToString(); rowCookie["date"] = newTransaction.TransactionDate; rowCookie["balance"] = newTransaction.Balance.ToString(); rowCookie["transaction"] = transaction.ToString(); rowCookie.Expires = DateTime.Now.AddDays(1d); Response.Cookies.Add(rowCookie); //update number of transactions made in cookie HttpCookie mainCookie = new HttpCookie("SavingsAccountHistory"); mainCookie["HistoryRowCount"] = newTransaction.TransactionID.ToString(); mainCookie.Expires = DateTime.Now.AddDays(1d); Response.Cookies.Add(mainCookie); }
//Jenna McCarter - get all transactions to be displayed in the history public ActionResult SavingsAccountHistory() { accountSavingsListModel mylist = new accountSavingsListModel(); mylist.balanceHistory = new List <accountSavingsModel>(); //get number of transactions made int transactionCount = 0; string cookieName; accountSavingsModel transaction = new accountSavingsModel(); if (Request.Cookies["SavingsAccountHistory"] != null) { if (Request.Cookies["SavingsAccountHistory"]["HistoryRowCount"] != null) { transactionCount = Convert.ToInt16(Request.Cookies["SavingsAccountHistory"]["HistoryRowCount"]); } } //if there is a history if (transactionCount != 0) { //for each number of transactions made, create a new accountSavingsModel to be added to the list to be displayed for (int i = 1; i <= transactionCount; ++i) { cookieName = "HistoryRowCount" + i; if (Request.Cookies[cookieName] != null) { transaction = new accountSavingsModel(); transaction.TransactionID = Convert.ToInt16(Request.Cookies[cookieName]["id"]); transaction.TransactionDate = Request.Cookies[cookieName]["date"]; transaction.Balance = Convert.ToDouble(Request.Cookies[cookieName]["balance"]); transaction.Transaction = Convert.ToDouble(Request.Cookies[cookieName]["transaction"]); mylist.balanceHistory.Add(transaction); } } //return list return(View(mylist)); } else { //return list return(View()); } }
public ActionResult SavingsAccountDeposit(accountSavingsModel svg) { createNewTransaction(svg.TransactionID, svg.Balance); return(RedirectToAction("SavingsAccount")); }
//Jenna McCarter - deposit amount and pass in last transaction so use can see current balance public ActionResult SavingsAccountDeposit() { accountSavingsModel latest = getLatestTransaction(); return(View(latest)); }