Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package bank.time
- import bank._
- import scala.io.Source
- class Main {
- }
- object BankApplication {
- var aktuellBank = new Bank
- var tomVector: Vector[Int] = Vector.empty
- var count = 0
- def date(date: Date): String = {
- s"${date.year}-${date.month}-${date.dayOfMonth}, ${date.hour}:${date.minute} "
- }
- def main(args: Array[String]): Unit = {
- aktuellBank.returnToState(Date.now)
- var quit = false
- while (!quit) {
- val choice = scala.io.StdIn.readLine(
- s"""- - - - - - - - - - - - - - - - - - - - - - - - -
- |1. Hitta konton för en given kund
- |2. Sök efter kunder på (del av) namn
- |3. Sätt in pengar
- |4. Ta ut pengar
- |5. Överför pengar mellan konton
- |6. Skapa nytt konto
- |7. Radera existerande konto
- |8. Skriv ut alla konton i banken
- |9. Skriv ut ändringshistoriken
- |10. Återställ banken till ett tidigare datum
- |11. Avsluta
- """.stripMargin).toString
- print(s"Val: $choice \n")
- choice match {
- case "1" => val idChoice = scala.io.StdIn.readLine("Id: ").toLong
- for (e <- aktuellBank.findAccountsForHolder(idChoice)) {
- println(s"$e\n")
- }
- case "2" =>
- val findName = scala.io.StdIn.readLine("Några bokstäver av namn: ").toString
- for (e <- aktuellBank.findByName(findName).distinct) {
- println(s"$e \n")
- }
- case "3" =>
- val accNbr = scala.io.StdIn.readLine("Kontonummer: ").toInt
- val depositSum = scala.io.StdIn.readLine("Insättningssumma: ").toInt
- aktuellBank.doEvent(Date.now, Deposit(accNbr, depositSum))
- case "4" =>
- val accNbr = scala.io.StdIn.readLine("Kontonummer: ").toInt
- val withdrawSum = scala.io.StdIn.readLine("Hur mycket vill du ta ut: ").toInt
- aktuellBank.doEvent(Date.now, Withdraw(accNbr, withdrawSum))
- case "5" =>
- val fromAcc = scala.io.StdIn.readLine("Kontonummer att överföra från: ").toInt
- val toAcc = scala.io.StdIn.readLine("Kontonummer att överföra till: ").toInt
- val transferSum = scala.io.StdIn.readLine("Hur mycket vill du föra över: ").toInt
- aktuellBank.doEvent(Date.now, Transfer(fromAcc, toAcc, transferSum))
- case "6" =>
- val nameChoice = scala.io.StdIn.readLine("Namn: ").toString
- val idChoice = scala.io.StdIn.readLine("Id: ").toLong
- aktuellBank.doEvent(Date.now, NewAccount(idChoice, nameChoice))
- case "7" =>
- val deleteAccount = scala.io.StdIn.readLine("Ange konto att radera: ").toInt
- aktuellBank.doEvent(Date.now, DeleteAccount(deleteAccount))
- case "8" =>
- for (e <- aktuellBank.allAccounts()) {println(e)}
- case "9" => println(Source.fromFile("bank.txt").mkString)
- case "10" =>
- val år = scala.io.StdIn.readLine("År: (YYYY) ").toInt
- val månad = scala.io.StdIn.readLine("Månad: (MM) ").toInt
- val dag = scala.io.StdIn.readLine("Dag: (DD) ").toInt
- val timme = scala.io.StdIn.readLine("Timme: (TT) ").toInt
- val minut = scala.io.StdIn.readLine("Minut: (MM) ").toInt
- val datum: Date = Date(år, månad, dag, timme, minut)
- aktuellBank.returnToState(datum)
- case "11" => quit = true
- case _ => quit = false
- }
- println(s"\n" + date(Date.now()))
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement