Advertisement
Guest User

Main

a guest
Dec 17th, 2018
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.64 KB | None | 0 0
  1. package bank.time
  2.  
  3. import bank._
  4. import scala.io.Source
  5. class Main {
  6. }
  7. object BankApplication {
  8.  
  9. var aktuellBank = new Bank
  10. var tomVector: Vector[Int] = Vector.empty
  11. var count = 0
  12.  
  13. def date(date: Date): String = {
  14. s"${date.year}-${date.month}-${date.dayOfMonth}, ${date.hour}:${date.minute} "
  15. }
  16.  
  17. def main(args: Array[String]): Unit = {
  18. aktuellBank.returnToState(Date.now)
  19. var quit = false
  20. while (!quit) {
  21. val choice = scala.io.StdIn.readLine(
  22. s"""- - - - - - - - - - - - - - - - - - - - - - - - -
  23. |1. Hitta konton för en given kund
  24. |2. Sök efter kunder på (del av) namn
  25. |3. Sätt in pengar
  26. |4. Ta ut pengar
  27. |5. Överför pengar mellan konton
  28. |6. Skapa nytt konto
  29. |7. Radera existerande konto
  30. |8. Skriv ut alla konton i banken
  31. |9. Skriv ut ändringshistoriken
  32. |10. Återställ banken till ett tidigare datum
  33. |11. Avsluta
  34. """.stripMargin).toString
  35. print(s"Val: $choice \n")
  36. choice match {
  37. case "1" => val idChoice = scala.io.StdIn.readLine("Id: ").toLong
  38. for (e <- aktuellBank.findAccountsForHolder(idChoice)) {
  39. println(s"$e\n")
  40. }
  41. case "2" =>
  42. val findName = scala.io.StdIn.readLine("Några bokstäver av namn: ").toString
  43. for (e <- aktuellBank.findByName(findName).distinct) {
  44. println(s"$e \n")
  45. }
  46.  
  47. case "3" =>
  48. val accNbr = scala.io.StdIn.readLine("Kontonummer: ").toInt
  49. val depositSum = scala.io.StdIn.readLine("Insättningssumma: ").toInt
  50. aktuellBank.doEvent(Date.now, Deposit(accNbr, depositSum))
  51.  
  52. case "4" =>
  53. val accNbr = scala.io.StdIn.readLine("Kontonummer: ").toInt
  54. val withdrawSum = scala.io.StdIn.readLine("Hur mycket vill du ta ut: ").toInt
  55. aktuellBank.doEvent(Date.now, Withdraw(accNbr, withdrawSum))
  56.  
  57. case "5" =>
  58. val fromAcc = scala.io.StdIn.readLine("Kontonummer att överföra från: ").toInt
  59. val toAcc = scala.io.StdIn.readLine("Kontonummer att överföra till: ").toInt
  60. val transferSum = scala.io.StdIn.readLine("Hur mycket vill du föra över: ").toInt
  61. aktuellBank.doEvent(Date.now, Transfer(fromAcc, toAcc, transferSum))
  62.  
  63.  
  64. case "6" =>
  65. val nameChoice = scala.io.StdIn.readLine("Namn: ").toString
  66. val idChoice = scala.io.StdIn.readLine("Id: ").toLong
  67. aktuellBank.doEvent(Date.now, NewAccount(idChoice, nameChoice))
  68.  
  69. case "7" =>
  70. val deleteAccount = scala.io.StdIn.readLine("Ange konto att radera: ").toInt
  71. aktuellBank.doEvent(Date.now, DeleteAccount(deleteAccount))
  72.  
  73. case "8" =>
  74. for (e <- aktuellBank.allAccounts()) {println(e)}
  75.  
  76. case "9" => println(Source.fromFile("bank.txt").mkString)
  77.  
  78. case "10" =>
  79. val år = scala.io.StdIn.readLine("År: (YYYY) ").toInt
  80. val månad = scala.io.StdIn.readLine("Månad: (MM) ").toInt
  81. val dag = scala.io.StdIn.readLine("Dag: (DD) ").toInt
  82. val timme = scala.io.StdIn.readLine("Timme: (TT) ").toInt
  83. val minut = scala.io.StdIn.readLine("Minut: (MM) ").toInt
  84. val datum: Date = Date(år, månad, dag, timme, minut)
  85. aktuellBank.returnToState(datum)
  86.  
  87. case "11" => quit = true
  88.  
  89. case _ => quit = false
  90.  
  91. }
  92. println(s"\n" + date(Date.now()))
  93. }
  94. }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement