Beispiel #1
0
        // 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();
            }
        }
Beispiel #2
0
        //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();
            }
        }
Beispiel #3
0
        // 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);
        }