// skapar en metod för att kunna se ditt sparkonto. public override void ShowAccount() { Console.Title = "Savings Account"; bool foundClient = false; bool IsNumber; int id = 0; // Testar ett nytt sätt att lösa funktionen av metoden CheckIfNumber. Fungerar att implementera den metoden här. // Programmet gör detta sålänge isNumber är false som används för att se om inmatning av id är en siffra. do { Console.Write("Enter your id: "); // Testar om inmatning av id är en siffra och konverterar ev rätt inmatning till int. try { IsNumber = true; id = int.Parse(Console.ReadLine()); } // är inmatningen inte en siffra körs nedanstående kod. catch { Colours.Red("Must be a number.\n"); IsNumber = false; } // om inmatning av id är korrekt skriver programmet ut information gällande matchande id för klient vid sparkonto. if (IsNumber) { foreach (Client client in Client.clientList) { if (id == client.id) { Console.Title += $" - {client.name}"; Interest(client); Console.WriteLine($"ID: {client.id}"); Console.WriteLine($"Name: {client.name}"); Console.WriteLine($"Savings Account Balance: {client.savingsAccount.amount.ToString("F2")}"); Console.WriteLine($"Member since: {client.creationDate}"); Console.WriteLine(); foundClient = true; break; } } } } while (!IsNumber); // hittar vi ingen klient i listan så skrivs nedanstående ut. if (!foundClient) { Colours.Red("No such client was found.\n\n"); } // ger möjligheten till användare att återgå till huvudmenyn. Colours.Red("Press any key to return to Main Menu"); Console.ReadKey(); Menu.MainMenu(); }
public static string CheckNameValidity(string firstOrLast) { bool InvalidInput; string input = ""; do { InvalidInput = true; Console.WriteLine(); Console.Write($"Enter {firstOrLast} name: "); input = Console.ReadLine(); //Om alla chars i en input är en bokstav och hela strängen inte består av bara mellanslag if (input.All(char.IsLetter) && !string.IsNullOrWhiteSpace(input)) { InvalidInput = false; } //Om input bara är mellanslag eller ingenting skrivs ett felmeddelande ut if (string.IsNullOrWhiteSpace(input)) { Colours.Red("Name can not be white space\n"); } //Om inte alla chars i input är bokstäver skrivs ett felmeddelande ut else if (!input.All(char.IsLetter)) { Colours.Red("Name can only consist of letters A-Ö.\n"); } } while (InvalidInput); // Returnerar en string return(input); }
// En overridad metod som vi använder för att se ett specifikt kontos checking account + väsentliga uppgfiter. public override void ShowAccount() { Console.Title = "Checking Account"; // Använder en bool för att säga om vi har hittat ett konto eller inte vid input av id nr. bool foundClient = false; Console.WriteLine("Enter your ID:"); decimal inputId = Transactions.CheckIfNumber(choiceId); foreach (Client client in Client.clientList) { if (inputId == client.id) { Console.Title += $" - {client.name}"; Console.WriteLine("----------------"); Console.WriteLine($"ID: {client.id}"); Console.WriteLine($"Name: {client.name}"); Console.WriteLine($"Checking Account Balance: {client.checkingAccount.amount}"); Console.WriteLine($"Member since: {client.creationDate}"); Console.WriteLine("----------------"); // om det finns mer än 0 biobiljetter och klient ej fått bonus ska programmet gå igenom interfacet if (ticketAmount > 0 && client.cinemaBonus == false) { CinemaTicket(client); } Console.WriteLine(); //om klient har fått bonus och valt film för sin biobiljett ska vi skriva ut filmens namn. if (client.cinemaBonus == true && client.movieChoice != null) { //Vill vi ha ljud? Console.Write("You have a free cinema ticket for "); Colours.Cyan(client.movieChoice.title); Console.WriteLine(); } Console.WriteLine(); foundClient = true; break; } } if (!foundClient) { Console.WriteLine("Couldn't find the id."); } Colours.Red("Press any key to return to Main Menu"); Console.ReadKey(); Menu.MainMenu(); }
// skapar funktionen för att kolla om inmatning är ett nummer eller en siffra och returnerar inmatning. public static decimal CheckIfNumber(string aTransactionType) { decimal input = 0; // skapar en for loop som testar input. for (int i = 0; i < 1; i++) { // Vid inmatning av id ovan referrerar programmet till nedanstående ReadLine. try { string test = Console.ReadLine(); if (test.Contains(".")) { test = test.Replace('.', ','); } input = decimal.Parse(test); } // istället för att programmet kraschar går programmet över till catch. catch { // Felhanterar inmatning av insättning och överföring. if (aTransactionType == choiceDeposit || aTransactionType == choiceTransaction) { Colours.Red("Not a number\n"); ErrorMessage(); Console.Write("Please reenter the amount: "); i -= 1; } // Felhanterar inmatning av id. else { Colours.Red("Not a number\n"); ErrorMessage(); Console.Write("Please reenter the ID: "); i -= 1; } } } return(input); }
// Vi skapar en metod för att kunna se genomförda transaktioner public static void ShowTransactions() { Console.Title = "List of Transactions"; // Skapar en bool för att se om listan innehåller något i huvud taget. bool IsEmpty = !transactionList.Any(); // Finns det inget i listan så skriv ut följande och gå tillbaka till main menu. if (IsEmpty) { Console.WriteLine("There are no transactions at the moment"); Colours.Red("Press any key to continue "); Console.ReadKey(); Menu.MainMenu(); } // Om det finns något i listan så skriver den ut innehållet. else { // Skriver ut varje transkation och om det är en insättning skriver den ut else. // Är det en transaktion skriver den ut If. foreach (Transactions trans in transactionList) { Console.WriteLine($"Transaction type: {trans.transactionType}"); Console.WriteLine($"Date and time: {trans.dateAndTime}"); Console.Write($"Amount: "); Colours.Green($" {trans.amount}"); Console.WriteLine(" kr"); if (trans.transactionType == choiceTransaction) { Console.WriteLine($"From client id: {trans.firstClient.id}"); Console.WriteLine($"To client id: {trans.secondClient.id}"); } else { Console.WriteLine($"To client id: {trans.firstClient.id}"); } Console.WriteLine(); } Colours.Red("Press any key to continue"); Console.ReadKey(); Menu.MainMenu(); } }
//Loopar igenom klientlistan och visar all information om varje klient. public static void ShowAllAccounts() { Console.Title = "All Clients"; foreach (Client client in Client.clientList) { Console.WriteLine($"ID: {client.id}\n"); Console.WriteLine($"Name: {client.name}"); Console.WriteLine($"Checking Account Balance: {client.checkingAccount.amount} kr"); Console.WriteLine($"Savings Account Balance: {client.savingsAccount.amount} kr"); Console.WriteLine($"Member since: {client.creationDate}"); Console.WriteLine(); } Colours.Red("Press any key to continue"); Console.ReadKey(); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(new string(' ', Console.BufferWidth - (Console.CursorTop - 2))); Console.SetCursorPosition(1, Console.CursorTop - 2); }
// Skapar en metod för att ge användaren en möjlighet att göra ytterligare en insättning/överföring efter genomförd sådan. // Ger även användaren möjligheten att återgå till main menu om det önskas. // Tar in transaktionstypen för att utforma olika val utifrån värdet. public static void RepeatQuery(string aTransactionType) { // Skapar en variabel där inmatning av val sparas. string choice; Console.WriteLine(); Console.WriteLine($"Would you like to make a new {aTransactionType.ToLower()}?"); // Skapar en doWhile för att vi vill att programmet ska köra denna del tills avändaren har gjort ett val. do { Console.Write("Enter 'Y' or 'N': "); // konverterar valet till stor bokstav för att hantera ev fel av inmat av liten bokstav. choice = Console.ReadLine().ToUpper(); // uppfylls nedanstående krav får användaren göra en ny insättning. if (choice == "Y" && aTransactionType == "Deposit") { ExecuteDeposit(); } // upfylls nedanstående krav får användaren göra en ny överföring. else if (choice == "Y" && aTransactionType == "Transaction") { ExecuteTransactions(); } // uppfylls nedanstående krav går programmet till huvudmenyn. else if (choice == "N") { Menu.MainMenu(); } // skriver användaren något annat än y och n skriv fel inmatning ut. else { Colours.Red("Wrong input!\n"); Console.WriteLine(); } } while (choice != "Y" && choice != "N"); }
//CreateClient är till för att skapa ett klient objekt. public static void CreateClient() { Console.Title = "Create Client"; int id = ++idNumberMaker; string fullName = null; string firstOrLast = "first"; bool ValidateName; Console.WriteLine("Creating client"); Console.WriteLine("----------------"); do { ValidateName = false; string input = CheckNameValidity(firstOrLast); char[] letters = input.ToCharArray(); for (int i = 0; i < letters.Length; i++) { if (letters[i] == letters[0]) { //Vi vill göra första bokstaven i namnet till stor bokstav char letterChar = letters[i]; letterChar = char.ToUpper(letterChar); letters[i] = letterChar; } } if (firstOrLast == "first") { fullName = new string(letters); firstOrLast = "last"; } else if (firstOrLast == "last") { //Vi slår ihop namnen till ett och samma. fullName += " " + new string(letters); ValidateName = true; } } while (!ValidateName); //Vi skapar objektet creationDate av typen DateTime för att logga när kund är skapad. DateTime creationDate = DateTime.Now; CheckingAccount checkingAccount = new CheckingAccount(0); SavingsAccount savingsAccount = new SavingsAccount(5000); //Vi skapar ett objekt utifrån en konstruktor i client som vi använder för att se kundens alla uppgifter. Client client = new Client(fullName, id, creationDate, checkingAccount, savingsAccount); Console.WriteLine(); #region Easter Egg if (client.name == "Snake Snakesson") { Snakeclass.Snake.SnakeGame(); Console.Clear(); Console.SetWindowSize(100, 40); } #endregion Player.SoundLocation = "confirm.wav"; Player.Play(); Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("----------------"); Console.WriteLine("Client created"); Console.WriteLine("----------------"); Console.WriteLine($"Name: {fullName}\nID: {id}\nAccount created at: {creationDate}\nChecking Account: {checkingAccount.amount} kr\nSavings Account: {savingsAccount.amount} kr"); Console.WriteLine("----------------"); Console.ResetColor(); //Den skapade klienten läggs till i vår klientlista. Client.clientList.Add(client); Console.WriteLine(); Colours.Red("Press any key to return to Main Menu"); Console.ReadKey(); Menu.MainMenu(); }
public static void RemoveExistingClients() { Console.Title = "Remove Client"; Client clientToRemove = new Client(); bool foundClient = false; do { Console.Clear(); foreach (Client client in Client.clientList) { Console.WriteLine($"{client.id}) {client.name}"); } Console.WriteLine(); Console.Write("Enter the id of the client you wish to remove?: "); decimal id = Transactions.CheckIfNumber("id"); foreach (Client client in Client.clientList) { if (id == client.id) { clientToRemove = client; foundClient = true; } } if (!foundClient) { Colours.Red("No such client was found\n"); Transactions.ErrorMessage(); } } while (!foundClient); string choice; do { Colours.Red($"Are you sure you want to remove {clientToRemove.name}? "); Console.Write("Y/N: "); choice = Console.ReadLine().ToUpper(); if (choice == "Y") { Client.clientList.Remove(clientToRemove); } else if (choice == "N") { Console.WriteLine("Going back to main menu"); Console.WriteLine(); Console.ReadKey(); Menu.MainMenu(); } else { Console.WriteLine("Wrong input!"); } } while (choice != "Y" && choice != "N"); Console.WriteLine(); Colours.Red($"[DELETED] {clientToRemove.name}"); Console.ReadKey(); Menu.MainMenu(); }
//Denna metoden kollar om klienten har uppfyllt kraven för att få en biobiljett och skriver isf ut det. public void CinemaTicket(Client client) { // Kraven för att klient ska uppnå biobiljetts bonus. if ((DateTime.Now.Date - client.creationDate.Date).Days > 30 && client.checkingAccount.amount > 100 && client.cinemaBonus == false) { Console.WriteLine(); Console.BackgroundColor = ConsoleColor.Green; Console.ForegroundColor = ConsoleColor.Black; Console.WriteLine("You have received a free cinema ticket, ONLY ONE!"); Console.ResetColor(); Console.WriteLine(); // skapar en counter för att visa en siffra framför filmerna i filmmenyn. int counter = 1; // loopar igenom filmlistan och skriver ut objektens attribut för filmernas titel. foreach (Movies movie in Movies.movieList) { Console.Write(counter + ") "); Colours.Cyan(movie.title); Console.WriteLine(); Console.Write(" tickets left: "); if (movie.ticketsAvailable < 2) { Colours.Red($"{movie.ticketsAvailable}\n"); } else { Colours.Green($"{movie.ticketsAvailable}\n"); } counter++; } Console.WriteLine("----------"); Console.Write("0) "); Colours.Red("No thanks, I don't want a movie ticket\n"); // använder variablen för att jämföra user input med filmobjektets indexPlace. string choice; // använder variablen för att användaren alltid ska behöva göra ett val tills ett möjligt val är gjort. bool invalidInput; // använder variabeln för att säga om vi har hittat en film eller inte. bool foundMovie = false; do { Console.WriteLine(); Console.Write("Choose which movie: "); choice = Console.ReadLine(); invalidInput = false; // loopar igenom movielistan och kollar om användarens val stämmer överrens med filmobjektets indexPlace. foreach (Movies movie in Movies.movieList) { // konverterar till string för att vi senare i IF, måste jämföra två likadana datatyper. // Använder oss utav string för att det hanterar även bokstäver vid inmatning string indexPlace = Convert.ToString(movie.indexPlace); if (choice == indexPlace) { // Tar in movie och klient som argument för att vi vill ha klientens val av film. Movies.UpdateMovies(movie, client); foundMovie = true; break; } } if (choice == "0") { Console.WriteLine("You chose not to go to the movies."); client.movieChoice = null; } else if (!foundMovie) { Console.WriteLine("Invalid input"); invalidInput = true; } } while (invalidInput); client.cinemaBonus = true; } // detta är else if till första if. Hade detta varit en enskild if hade programmet kört båda stegen // När vi har valt en biljett sedan innan. else if (client.cinemaBonus == true) { Console.WriteLine(); Console.Write($"You have claimed a cinema ticket for "); Colours.Cyan(client.movieChoice.title); Console.WriteLine(); } }
// skapar funktionen för att se om inmatning av insättning är korrekt enligt nedanstående logik. public static decimal ValidateAmount(string aTransactionType, Client client, decimal aInputAmount) { // Skapar en switch case för två olika scenarion. Insättning och Transaktion. switch (aTransactionType) { // När vi kallar på funktionen tas TransactionType in som argument för att välja vilket case programmet ska utföra. case "Deposit": // Går inte ur denna loop förrens användare har matat in mer än 100kr eller ett värde som är jämt delbart med 100. while (aInputAmount < 100 || aInputAmount % 100 != 0) { if (aInputAmount < 100) { Colours.Red("You have to deposit a larger amount!\n"); Colours.Red("The smallest amount to deposit is 100 kr\n"); Console.WriteLine(); Console.Write("Enter the amount to deposit: "); // kallar på checkIfNumber igen för att mata in ett nytt värde. aInputAmount = CheckIfNumber(choiceDeposit); } else if (aInputAmount % 100 != 0) { Colours.Red("You can only add amount in even 100 kr bills\n"); Console.WriteLine(); Console.Write("Enter the amount to deposit: "); // kallar på checkIfNumber igen för att mata in ett nytt värde. aInputAmount = CheckIfNumber(choiceDeposit); } } // break till för detta case i switchen break; case "Transaction": // Går inte ur denna loop förrens användare har matat in mer än 0kr eller ett värde som är mindre eller = klientens Checkacc. while (aInputAmount <= 0 || aInputAmount > client.checkingAccount.amount) { if (aInputAmount <= 0) { Colours.Red("You can only transfer a positive amount.\n"); Console.WriteLine(); Console.Write("Enter the amount to transfer: "); // kallar på checkIfNumber igen för att mata in ett nytt värde aInputAmount = CheckIfNumber(choiceTransaction); } else if (aInputAmount > client.checkingAccount.amount) { Colours.Red("You can't transfer more money than you have\n"); Console.WriteLine($"You have {client.checkingAccount.amount} kronor in your checking account"); Console.WriteLine(); Console.Write("Enter the amount to transfer: "); // kallar på checkIfNumber igen för att mata in ett nytt värde aInputAmount = CheckIfNumber(choiceTransaction); } } // break till för detta case i switchen break; } return(aInputAmount); }
// skapar en metod som är till för att göra insättningar. public static void ExecuteDeposit() { Console.Title = "Deposit"; Console.Clear(); // skapar endast en first client för att vi inte kommer skapa en second client när vi gör en insättning. Client firstClient = new Client(); decimal inputAmount; bool foundClient = false; Console.Clear(); Console.WriteLine("--- Deposit Money ---"); Console.WriteLine(); // gör en do While för att vi vill att användare ska mata in klient id tills programmet hittar en matchande klient. do { Console.Write("Enter the ID of the customer: "); // Här kollar vi om inmatningen är ett nummer genom metoden CheckIfNumber. // Är det inte det, så skriver programmet ut att det inte är ett nummer samt att man ska mata in ett id igen. decimal id = CheckIfNumber(choiceId); Console.WriteLine(); // Systemet kontrollerar att det inmatade id:t en klients id i klientlistan. foreach (Client client in Client.clientList) { if (id == client.id) { firstClient = client; foundClient = true; break; } } // Hittar vi ingen klient med det inmatade id:t visar vi felmedd. if (!foundClient) { Colours.Red("No such client was found\n"); ErrorMessage(); } } while (!foundClient); Console.WriteLine($"Name: {firstClient.name}"); Console.WriteLine(); Console.Write("Enter the amount to deposit: "); //kollar att det inmatade värdet är ett nummer och även om det är ett belopp genom argumentet ChoiceDeposit. // Det returnerade värdet från CheckIfNumber stoppas sedan in i variabeln inputAmount. inputAmount = CheckIfNumber(choiceDeposit); // Kollar så att summan man försöker föra över är godkänd enligt logiken i ValidateAmount. // Det returnerade värdet från ValidateAmount stoppas sedan in i variabeln inputAmount. inputAmount = ValidateAmount(choiceDeposit, firstClient, inputAmount); player.SoundLocation = "ca-ching.wav"; player.Play(); Console.WriteLine(); Console.Write($"Sucessfully deposited "); Colours.Green($"{inputAmount}"); Console.WriteLine(" kr to your account!"); // När transaktionen är godkänd säger vi att klientens checkingAcc är uppdaterat med summan av överföringen. firstClient.checkingAccount.amount += inputAmount; DateTime dateAndTime = DateTime.Now; Console.WriteLine($"{firstClient.name}, you now have {firstClient.checkingAccount.amount} kr in your checking account"); Console.WriteLine(); string toAccountType = "Checking Account"; // Skapar ett objekt av transaktions klassen från en konstruktor. Transactions trans = new Transactions(dateAndTime, inputAmount, choiceDeposit, toAccountType, firstClient); // Lägger till den genomförda transaktionen till listan av transaktioner. transactionList.Add(trans); // Kallar på RepeatQuery för att ge användaren valet att göra en ny insättning med hjälp av angivet argument. RepeatQuery(choiceDeposit); }
// Skapar en metod för att genomföra en överföring. public static void ExecuteTransactions() { Console.Title = "Transaction"; Console.Clear(); // Skapar en variabel där inmatning av belopp sparas. decimal inputAmount; // skapar en bool som säger om vi har hittat en klient eller inte. bool foundClient = false; // skapar ett objekt av klient som vi kallar för första klienten. Client firstClient = new Client(); // skapar ett objekt av klient som vi kallar för andra klienten. Client secondClient = new Client(); // gör en do While för att vi vill att användare ska mata in klient id tills programmet hittar en matchande klient. do { Console.Clear(); Console.Write("Please enter your account ID: "); // Här kollar vi om inmatningen är ett nummer genom metoden CheckIfNumber. // Är det inte det, så skriver programmet ut att det inte är ett nummer samt att man ska mata in ett id igen. decimal firstId = CheckIfNumber(choiceId); Console.WriteLine(); // letar igenom klient listan. Vi för över infomrationen från klienten vi är på till first client. // Om det inmatade id:t hittas i listan av klienter, sätter vi även bool foundclient till true. foreach (Client client in Client.clientList) { if (firstId == client.id) { firstClient = client; foundClient = true; } } // Hittar vi ingen klient med det inmatade id:t visar vi felmedd. if (!foundClient) { Colours.Red("No such client was found\n"); ErrorMessage(); } } while (!foundClient); // Om klientens checkingAcc är 0 eller mindre skriver vi ut den informationen och ger alternativet // att göra en ny transaktion via RepeatQuery metoden och choiseTransaction som argument. if (firstClient.checkingAccount.amount <= 0) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine($"{firstClient.name} unfortunately has no money in his/her checking account."); Console.ResetColor(); RepeatQuery(choiceTransaction); } // Sätter bool till false för att vi vill använda samma bool till nästa klient. foundClient = false; // gör en do While för att vi vill att användare ska mata in klient id tills programmet hittar en matchande klient. do { Console.Clear(); Console.WriteLine($"Transferring funds from: {firstClient.id}\n\n"); Console.Write("Please enter the id of the person you would like to transfer funds to: "); // Här kollar vi om inmatningen är ett nummer genom metoden CheckIfNumber. // Är det inte det, så skriver programmet ut att det inte är ett nummer samt att man ska mata in ett id igen. decimal secondId = CheckIfNumber(choiceId); Console.WriteLine(); // letar igenom klient listan. Vi för över infomrationen från klienten vi är på till second client. // Om det inmatade id:t hittas i listan av klienter, sätter vi även bool foundclient till true. foreach (Client client in Client.clientList) { if (secondId == client.id) { secondClient = client; foundClient = true; } } // Hittar vi ingen klient med det inmatade id:t visar vi felmedd. if (!foundClient) { Colours.Red("No such client was found\n"); ErrorMessage(); } } while (!foundClient); Console.Clear(); Console.Write($"Transferring funds from "); Colours.Red($"{firstClient.id} "); Console.Write("to "); Colours.Red($"{secondClient.id}\n\n\n"); Console.WriteLine($"{firstClient.name} has {firstClient.checkingAccount.amount} kr in his/her Checking Account\n"); Console.Write("Enter the amount of funds you would like to transfer: "); // kollar att det inmatade värdet är ett nummer och även om det är ett belopp genom argumentet ChoiceTrans. // Det returnerade värdet från CheckIfNumber stoppas sedan in i variabeln inputAmount.{firstClient.name} has inputAmount = CheckIfNumber(choiceTransaction); // Kollar så att summan man försöker föra över är godkänd enligt logiken i ValidateAmount. // Det returnerade värdet från ValidateAmount stoppas sedan in i variabeln inputAmount. inputAmount = ValidateAmount(choiceTransaction, firstClient, inputAmount); // Vill att överföringssumman inte ska vara mer än 2 decimaler och avrundar därmed input. inputAmount = (Math.Round(inputAmount, 2)); // Om första klientens id inmatning matchar andra klientens id inmatning skickas pengarna från sitt egna // checkingAcc till sitt egna SavingsAcc. if (firstClient == secondClient) { // Skapar ett objekt av savingsAccount för att nedan komma åt interest metoden. SavingsAccount savingsAcc = new SavingsAccount(); firstClient.checkingAccount.amount -= inputAmount; firstClient.savingsAccount.amount += inputAmount; toAccountType = "Saving Account"; Console.WriteLine($"{firstClient.name} transferred {inputAmount} from his/her checking account " + $"to his/her {toAccountType.ToLower()}."); if (firstClient.interestBonus == false) { decimal interestBonus = firstClient.savingsAccount.amount * interest; Console.WriteLine(); Console.BackgroundColor = ConsoleColor.Green; Console.ForegroundColor = ConsoleColor.Black; Console.WriteLine($"{firstClient.name} earned an interest bonus of {interestBonus.ToString("F2")} kr"); Console.ResetColor(); savingsAcc.Interest(firstClient); } } // Är första inmatningen av klientens id inte samma som den andra, skickas pengarna från first clients checkingAcc // till second clients checkingAcc. else { firstClient.checkingAccount.amount -= inputAmount; secondClient.checkingAccount.amount += inputAmount; toAccountType = "Checking Account"; Console.WriteLine($"{firstClient.name} transferred {inputAmount} to {secondClient.name}'s {toAccountType.ToLower()}."); } DateTime dateAndTime = DateTime.Now; // Vi skapar ett objekt av Transactions via konstruktorn i den klassen. Transactions trans = new Transactions(dateAndTime, inputAmount, choiceTransaction, toAccountType, firstClient, secondClient); // Lägger till den genomförda transaktionen i vår lista av transaktioner. transactionList.Add(trans); // använder ljudfilen ca-ching som ligger i projektet. player.SoundLocation = "ca-ching.wav"; player.Play(); Console.WriteLine(); // frågar användaren om den vill göra en ny transaktion. RepeatQuery(choiceTransaction); Console.ReadKey(); }