public ActionResult Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } MiniStatementFacade _miniStatementFacade = new MiniStatementFacade(); var user = _miniStatementFacade.FindUserByEmail(model.Email); if (user.Password == model.Password) { try { Session["UID"] = user.UserId; Session["Email"] = user.Email; } catch (Exception) { } return(RedirectToAction("Index", "Home")); } else { ModelState.AddModelError("", "Invalid login attempt."); } return(View(model)); }
/// <summary> /// Export user transactions controller /// Entry Criteria : userid and accountnumber shouldnt be null. /// Responsibility : Exports user transactions to excel /// Success Criteria : Fetchs users transactions from DB and exports to excel /// Exception condition: Fail when the database call fails for any exception. /// @return /// @throws SQLException /// @throws ClassNotFoundException /// </summary> /// <param name="userId"></param> /// <param name="accountNumber"></param> public ActionResult ExportData(int userId, string accountNumber) { MiniStatementFacade _miniStatementFacade = new MiniStatementFacade(); try { DataTable transactions = _miniStatementFacade.FindUserTransactionsForExport(userId, accountNumber); using (XLWorkbook wb = new XLWorkbook()) { wb.Worksheets.Add(transactions); wb.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; wb.Style.Font.Bold = true; Response.Clear(); Response.Buffer = true; Response.Charset = ""; Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", "attachment;filename= EmployeeReport.xlsx"); using (MemoryStream MyMemoryStream = new MemoryStream()) { wb.SaveAs(MyMemoryStream); MyMemoryStream.WriteTo(Response.OutputStream); Response.Flush(); Response.End(); } } } catch (Exception) { } return(RedirectToAction("ViewMiniStatement", "MiniStatement")); }
public void WhenHeClicksOnViewMiniStatement() { MiniStatementFacade _miniStatementFacade = new MiniStatementFacade(); UserId = _miniStatementFacade.FindUserByEmail("*****@*****.**").UserId; var userAccount = _miniStatementFacade.GeUsertAccountsByUserId(UserId).FirstOrDefault(); AccountId = userAccount.AccountId; AccountNumber = userAccount.AccountNumber; AccountName = userAccount.Account.AccountName; MiniStatementController miniStatementcontroller = new MiniStatementController(); result = miniStatementcontroller.ViewMiniStatement(UserId, AccountId); }
public void Login() { try { var email = "*****@*****.**"; var password = "******"; MiniStatementFacade _miniStatementFacade = new MiniStatementFacade(); var user = _miniStatementFacade.FindUserByEmail(email); Assert.AreEqual(password, user.Password); } catch (Exception e) { Assert.IsTrue(false); } }
public void Accounts() { try { var userId = 1; var totalAvaialbeBalance = decimal.Zero; MiniStatementFacade _miniStatementFacade = new MiniStatementFacade(); var userTransactions = _miniStatementFacade.GetUserTransactionsByUserId(userId); totalAvaialbeBalance = _miniStatementFacade.GetCurrentAvailableBalance(userTransactions); Assert.AreEqual(35400, totalAvaialbeBalance); } catch (Exception) { Assert.IsTrue(false); } }
public void Transactions() { try { var userId = 1; MiniStatementFacade _miniStatementFacade = new MiniStatementFacade(); IList <Transaction> userTransactions = _miniStatementFacade.GetUserTransactionsByUserId(userId); var savingActBalance = GetAccountBalance(userTransactions.Where(x => x.Account.AccountName == "Savings Account").ToList()); var currentActBalance = GetAccountBalance(userTransactions.Where(x => x.Account.AccountName == "Current Account").ToList()); var seniorCitizenActBalance = GetAccountBalance(userTransactions.Where(x => x.Account.AccountName == "Senior Citizen Account").ToList()); Assert.AreEqual(2200, savingActBalance); Assert.AreEqual(22400, currentActBalance); Assert.AreEqual(10800, seniorCitizenActBalance); } catch (Exception) { Assert.IsTrue(false); } }
/// <summary> /// User mini statement view controller /// Entry Criteria : userid and accountid shouldnt be null. /// Responsibility : Display user mini statement /// Success Criteria : Fetchs users transactions from DB displays to user /// Exception condition: Fail when the database call fails for any exception. /// @return /// @throws SQLException /// @throws ClassNotFoundException /// </summary> /// <param name="userId"></param> /// <param name="accountId"></param> /// <returns>UserTransactionsModel</returns> public ActionResult ViewMiniStatement(int userId, int accountId) { MiniStatementFacade _miniStatementFacade = new MiniStatementFacade(); UserTransactionsModel userTransactionsModel = new UserTransactionsModel(); try { IList <UserTransactionsData> transactions = _miniStatementFacade.GetUserTransactionsByAccountId(userId, accountId); if (transactions.Count > 0) { userTransactionsModel.AccountType = _miniStatementFacade.GetAccountTypeByAccountId(transactions.FirstOrDefault().AccountId); userTransactionsModel.AccountNumber = transactions.FirstOrDefault().AccountNumber; } userTransactionsModel.UserTransactions = transactions; ViewBag.accountBalance = GetAccountBalance(transactions); } catch (Exception) { } return(View(userTransactionsModel)); }
public ActionResult Index() { MiniStatementModel model = new MiniStatementModel(); if (Session["UID"] != null) { var userId = (Int32)Session["UID"]; var userEmail = Convert.ToString(Session["Email"]); var totalAvaialbeBalance = decimal.Zero; MiniStatementFacade _miniStatementFacade = new MiniStatementFacade(); totalAvaialbeBalance = _miniStatementFacade.GetCurrentAvailableBalanceByUserid(userId); IList <UserTransactionsData> userTransactions = _miniStatementFacade.GetUserTransactionsByUserId(userId); var savingActBalance = GetAccountBalance(userTransactions.Where(x => x.AccountId == 1).ToList()); var currentActBalance = GetAccountBalance(userTransactions.Where(x => x.AccountId == 2).ToList()); var seniorCitizenActBalance = GetAccountBalance(userTransactions.Where(x => x.AccountId == 3).ToList()); var user = _miniStatementFacade.FindUserByEmail(userEmail); model.UserId = userId; model.TotalAvaialbeBalance = totalAvaialbeBalance; model.SavingAccountBalance = savingActBalance; model.CurrentAccountBalance = currentActBalance; model.SeniorCitizenAccountBalance = seniorCitizenActBalance; model.SavingAccountTransactionCount = userTransactions.Where(x => x.AccountId == 1).Count(); model.CurrentAccountTransactionCount = userTransactions.Where(x => x.AccountId == 2).Count(); model.SeniorCitizenTransactionCount = userTransactions.Where(x => x.AccountId == 3).Count(); model.HasSavingsAccount = user.HasSavingsAccount; model.HasCurrentAccount = user.HasCurrentAccount; model.HasSeniorCitizenAccount = user.HasSeniorCitizenAccount; model.SavingsAccountNumber = user.SavingsAccountNumber; model.CurrentAccountNumber = user.CurrentAccountNumber; model.SeniorCitizenAccountNumber = user.SeniorCitizenAccountNumber; } else { return(RedirectToRoute("Default")); } return(View(model)); }
private void PrepareModel(UserTransactionsModel model, int userId, int accountId) { try { MiniStatementFacade _miniStatementFacade = new MiniStatementFacade(); IList <Transaction> transactions = _miniStatementFacade.GetUserTransactionsByAccountId(userId, accountId); var userAccounts = _miniStatementFacade.GeUsertAccountsByUserId(userId); var userAccount = userAccounts.Where(x => x.AccountId == accountId).FirstOrDefault(); if (transactions.Count > 0) { var account = transactions[0].Account; model.AccountType = account.AccountName; model.AccountNumber = userAccount.AccountNumber; } model.UserTransactions = transactions; model.AccountBalance = GetAccountBalance(transactions); model.UserId = userId; model.AccountId = accountId; } catch (Exception) { } }
private void PrepareModel(MiniStatementModel model) { MiniStatementFacade _miniStatementFacade = new MiniStatementFacade(); int accountId; string accountNumber; var userId = (Int32)Session["UID"]; var userEmail = Convert.ToString(Session["Email"]); var userTransactions = _miniStatementFacade.GetUserTransactionsByUserId(userId); var userAccounts = _miniStatementFacade.GeUsertAccountsByUserId(userId); var totalAvaialbeBalance = _miniStatementFacade.GetCurrentAvailableBalance(userTransactions); var savingActBalance = _miniStatementFacade.GetBalanceByAccount("Savings Account", userTransactions); var currentActBalance = _miniStatementFacade.GetBalanceByAccount("Current Account", userTransactions); var seniorCitizenActBalance = _miniStatementFacade.GetBalanceByAccount("Senior Citizen Account", userTransactions); model.UserId = userId; model.TotalAvaialbeBalance = totalAvaialbeBalance; model.SavingAccountBalance = savingActBalance; model.CurrentAccountBalance = currentActBalance; model.SeniorCitizenAccountBalance = seniorCitizenActBalance; model.SavingAccountTransactionCount = userTransactions.Where(x => x.Account.AccountName == "Savings Account").Count(); model.CurrentAccountTransactionCount = userTransactions.Where(x => x.Account.AccountName == "Current Account").Count(); model.SeniorCitizenTransactionCount = userTransactions.Where(x => x.Account.AccountName == "Senior Citizen Account").Count(); model.HasSavingsAccount = _miniStatementFacade.HasUserHadAccount(userAccounts, "Savings Account"); model.HasCurrentAccount = _miniStatementFacade.HasUserHadAccount(userAccounts, "Current Account"); model.HasSeniorCitizenAccount = _miniStatementFacade.HasUserHadAccount(userAccounts, "Senior Citizen Account"); _miniStatementFacade.GetUserAccount(userAccounts, "Savings Account", out accountId, out accountNumber); model.SavingsAccountId = accountId; model.SavingsAccountNumber = accountNumber; accountId = 0; accountNumber = string.Empty; _miniStatementFacade.GetUserAccount(userAccounts, "Current Account", out accountId, out accountNumber); model.CurrentAccountId = accountId; model.CurrentAccountNumber = accountNumber; accountId = 0; accountNumber = string.Empty; _miniStatementFacade.GetUserAccount(userAccounts, "Senior Citizen Account", out accountId, out accountNumber); model.SeniorCitizenAccountId = accountId; model.SeniorCitizenAccountNumber = accountNumber; IList <SelectListItem> countryList = new List <SelectListItem>() { new SelectListItem() { Text = "Indian Rupee", Value = "INR" }, new SelectListItem() { Text = "U.S. Dollar", Value = "USD" }, new SelectListItem() { Text = "Australian Dollar", Value = "AUD" }, new SelectListItem() { Text = "Bahraini Dinar", Value = "BHD" }, new SelectListItem() { Text = "Euro", Value = "EUR" }, new SelectListItem() { Text = "Nicaragua Cordoba", Value = "NIO" }, new SelectListItem() { Text = "Pacific Franc", Value = "XPF" }, new SelectListItem() { Text = "Singapore Dollar", Value = "SGD" }, new SelectListItem() { Text = "Qatar Rial", Value = "QAR" }, new SelectListItem() { Text = "Romanian Leu", Value = "ROL" }, }; model.CountryList = countryList; }