daily pastebin goal
53%
SHARE
TWEET

Main

a guest Dec 17th, 2018 66 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.   }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Pastebin PRO 'WINTER SPECIAL'!
Get 40% OFF Pastebin PRO accounts!
 
Top