Exemplo n.º 1
0
        public void Withdraw()
        {
            Console.Clear();
            Console.WriteLine("* Uttag *");
            var input           = Validation.InputInt("Kontonummer? ");
            var customerAccount = BankSearch.GetCustomerAccountById(_customers, input);

            if (customerAccount == null)
            {
                return;
            }
            customerAccount.AccountInformation();
            var value = Validation.InputDecimal("Vilket belopp vill du ta ut? ");

            try
            {
                customerAccount.AccountWithdraw(value);
            }
            catch (AmountNegativeOrZeroException e)
            {
                Console.WriteLine(e.Message);
            }
            catch (InsufficientFundsException e)
            {
                Console.WriteLine(e.Message);
            }
            Console.ReadLine();
        }
Exemplo n.º 2
0
        public void Transfer()
        {
            Console.Clear();
            Console.WriteLine("* Överföring *");
            var accountNumberOne = Validation.InputInt("Från kontonummer: ");
            var accountFrom      = BankSearch.GetCustomerAccountById(_customers, accountNumberOne);

            if (accountFrom == null)
            {
                return;
            }
            var accountNumberTwo = Validation.InputInt("Till kontonummer: ");
            var accountToo       = BankSearch.GetCustomerAccountById(_customers, accountNumberTwo);

            if (accountToo == null)
            {
                return;
            }
            var amount = Validation.InputDecimal("Belopp att överföra? ");

            try
            {
                accountFrom.TransferMoney(accountToo, amount);
            }
            catch (AmountNegativeOrZeroException e)
            {
                Console.WriteLine(e.Message);
            }
            catch (InsufficientFundsException e)
            {
                Console.WriteLine(e.Message);
            }
            Console.ReadLine();
        }
Exemplo n.º 3
0
        public void RemoveCustomer()
        {
            Console.Clear();
            Console.WriteLine("* Ta bort kund *");
            var input    = Validation.InputInt("Kundnummer? ");
            var customer = BankSearch.GetCustomerById(_customers, input);

            if (customer == null)
            {
                return;
            }
            Console.WriteLine($"\n{customer.CustomerId}: {customer.Name}");
            Console.WriteLine("Är du säker på att du vill ta bort denna kund? j/n\n");
            var userInput = Console.ReadKey();

            switch (userInput.Key)
            {
            case ConsoleKey.J:
                if (customer.DeleteableCustomer)
                {
                    _customers.Remove(customer);
                    Console.WriteLine($"{customer.Name} är borttagen.");
                }
                else
                {
                    Console.WriteLine($"\nDu kan inte ta bort kunden {customer.Name} då det finns pengar kvar på ett eller flera konton.");
                }
                break;

            case ConsoleKey.N:
                return;
            }

            Console.ReadLine();
        }
Exemplo n.º 4
0
        public void AccountProfile()
        {
            Console.Clear();
            Console.WriteLine("* Kontobild *");
            var input           = Validation.InputInt("Kontonummer? ");
            var customerAccount = BankSearch.GetCustomerAccountById(_customers, input);

            if (customerAccount == null)
            {
                return;
            }
            customerAccount.PrintAccountTransactions();
            Console.ReadLine();
        }
Exemplo n.º 5
0
        public void CustomerProfile()
        {
            Console.Clear();
            Console.WriteLine("* Visa kundbild *");
            var input    = Validation.InputInt("Kundnummer eller kontonummer? ");
            var customer = BankSearch.GetCustomerByAccountOrCustomerId(_customers, input);

            if (customer == null)
            {
                return;
            }
            Console.Clear();
            customer.CustomerFullDetails();
            Console.ReadLine();
        }
Exemplo n.º 6
0
        public void CalculateAllRates()
        {
            Console.Clear();
            var toAddInterestPayable = BankSearch.GetAllAccountsNegativeBalance(_customers);

            foreach (var account in toAddInterestPayable)
            {
                account.AddDailyInterestPayable();
            }

            var toAddSavingsRates = BankSearch.GetAllAccountsSavingsRatesPositiveBalance(_customers);

            foreach (var account in toAddSavingsRates)
            {
                account.AddDailySavingsRate();
            }
            Console.WriteLine("Dagens sparränta och skuldränta är beräknad och tillagd på aktuella konton.");
            Console.WriteLine("...Transaktionerna är överförda och sparade till txt-fil.");
            Console.ReadLine();
        }
Exemplo n.º 7
0
        public void CreditLimit()
        {
            Console.Clear();
            Console.WriteLine("* Kreditgräns *");
            var input           = Validation.InputInt("Kontonummer? ");
            var customerAccount = BankSearch.GetCustomerAccountById(_customers, input);

            if (customerAccount == null)
            {
                return;
            }
            Console.WriteLine("1) Lägg till/ändra kreditgräns");
            Console.WriteLine("2) Ta bort kreditgräns");
            var select = Console.ReadKey();

            Console.WriteLine();
            try
            {
                switch (select.Key)
                {
                case ConsoleKey.D1:
                    var creditLimit = Validation.InputDecimal("Ange kreditgräns(kr): ");
                    customerAccount.AddCreditLimit(creditLimit);
                    var rate = Validation.InputDecimal("Ange skuldränta(%): ");
                    customerAccount.AddInterestPayable(rate);
                    Console.WriteLine($"En kreditgräns på {creditLimit:C} är adderad till kontot.");
                    Console.WriteLine($"Skuldräntan är satt till {rate}%");
                    break;

                case ConsoleKey.D2:
                    customerAccount.RemoveCreditLimit();
                    break;
                }
            }
            catch (AmountNegativeOrZeroException e)
            {
                Console.WriteLine(e.Message);
            }

            Console.ReadLine();
        }
Exemplo n.º 8
0
        public void RemoveAccountFromCustomer()
        {
            Console.Clear();
            Console.WriteLine("* Ta bort konto *");
            var input    = Validation.InputInt("Kundnummer eller kontonummer? ");
            var customer = BankSearch.GetCustomerByAccountOrCustomerId(_customers, input);

            if (customer == null)
            {
                return;
            }
            Console.WriteLine();
            Console.WriteLine($"Konton för kund #{customer.CustomerId} : {customer.Name}");
            Console.WriteLine("-------------------------------------------------------------");
            customer.CustomerAccountsDetails();
            Console.WriteLine();
            var accountNumber = Validation.InputInt("Vilket konto vill du ta bort? ");

            customer.DeleteBankAccount(accountNumber);
            Console.ReadLine();
        }
Exemplo n.º 9
0
        public void SavingsRate()
        {
            Console.Clear();
            Console.WriteLine("* Sparränta *");
            var input           = Validation.InputInt("Kontonummer? ");
            var customerAccount = BankSearch.GetCustomerAccountById(_customers, input);

            if (customerAccount == null)
            {
                return;
            }
            Console.WriteLine("1) Lägg till/ändra sparränta ");
            Console.WriteLine("2) Ta bort sparränta ");
            var select = Console.ReadKey();

            Console.WriteLine();
            try
            {
                switch (select.Key)
                {
                case ConsoleKey.D1:
                    var rate = Validation.InputDecimal("Ange sparränta(%): ");
                    customerAccount.AddSavingsRate(rate);
                    Console.WriteLine($"Sparränta {rate}% är adderad till kontot.");
                    break;

                case ConsoleKey.D2:
                    customerAccount.RemoveSavingsRate();
                    Console.WriteLine($"Sparräntan för konto #{input} är borttagen.");
                    break;
                }
            }
            catch (AmountNegativeOrZeroException e)
            {
                Console.WriteLine(e.Message);
            }
            Console.ReadLine();
        }
Exemplo n.º 10
0
        public void CreateNewAccount()
        {
            Console.Clear();
            Console.WriteLine("* Skapa konto *");
            var input    = Validation.InputInt("Kundnummer? ");
            var customer = BankSearch.GetCustomerById(_customers, input);

            if (customer == null)
            {
                return;
            }
            customer.CustomerShortDetails();
            var accountId = Account.GenerateAccountNumber(_customers);

            Console.WriteLine();
            Console.WriteLine("Vill du lägga till ett nytt konto för denna kund? j/n");
            var newAccount = true;

            do
            {
                var select = Console.ReadKey();
                switch (select.Key)
                {
                case ConsoleKey.J:
                    customer.AddBankAccount(new Account(accountId, customer.CustomerId), accountId);
                    Console.WriteLine();
                    Console.WriteLine("Ett nytt konto har skapats till kund " +
                                      $"{customer.CustomerId} med kontonummer #{accountId}");
                    newAccount = false;
                    break;

                case ConsoleKey.N:
                    newAccount = false;
                    break;
                }
            } while (newAccount);
            Console.ReadLine();
        }
Exemplo n.º 11
0
        public void Deposit()
        {
            Console.Clear();
            Console.WriteLine("* Insättning *");
            var input           = Validation.InputInt("Kontonummer? ");
            var customerAccount = BankSearch.GetCustomerAccountById(_customers, input);

            if (customerAccount == null)
            {
                return;
            }
            var value = Validation.InputDecimal("Hur mycket pengar vill du sätta in? ");

            try
            {
                customerAccount.AccountDeposit(value);
            }
            catch (AmountNegativeOrZeroException e)
            {
                Console.WriteLine(e.Message);
            }
            Console.ReadLine();
        }
Exemplo n.º 12
0
        public void SearchCustomer()
        {
            Console.Clear();
            Console.WriteLine("* Sök kund *");
            Console.Write("Namn eller postort? ");
            var input = Console.ReadLine();

            if (string.IsNullOrEmpty(input))
            {
                return;
            }
            var customerList = BankSearch.GetCustomersByNameOrCity(_customers, input);

            if (customerList == null)
            {
                return;
            }
            foreach (var customer in customerList)
            {
                customer.CustomerShortDetails();
            }

            Console.ReadLine();
        }