Ejemplo n.º 1
0
        public void Execute()
        {
            Console.Clear();
            AccountManager accountManager = AccountManagerFactory.Create();

            Console.Write("Enter an account number: ");
            string accountNumber = Console.ReadLine();

            string  deposit = "deposit";
            decimal amount  = ConsoleIO.GetNumber(deposit);


            AccountDepositResponse response = accountManager.Deposit(accountNumber, amount);

            if (response.Success)
            {
                Console.WriteLine("Deposit completed!");
                Console.WriteLine($"Account Number: {response.Account.AccountNumber}");
                Console.WriteLine($"Old balance: {response.OldBalance:c}");
                Console.WriteLine($"Amount deposited: {response.Amount:c}");
                Console.WriteLine($"New balance: {response.Account.Balance:c}");
            }
            else
            {
                Console.WriteLine("An error occurred: ");
                Console.WriteLine(response.Message);
            }

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Deposit(CreateDepositRequest request, CancellationToken token)
        {
            _logger.LogInformation($"{nameof(AccountController)}.{nameof(Deposit)} - {request}");

            if (!ModelState.IsValid)
            {
                return(BadRequest($"Problem with CreateDepositRequest"));
            }

            if (!Currencies.IsValid(request.Currency.ToUpperInvariant()))
            {
                return(BadRequest($"Currency symbol entered is invalid!"));
            }

            CreateDeposit deposit = await CreateDepositFromLocalCurrency(request, token);

            if (!_options.BaseCurrency.Equals(request.Currency, StringComparison.InvariantCultureIgnoreCase))
            {
                deposit = await CreateDepositFromForeignCurrency(request, token);
            }

            DepositResult depositResult = await _accountService.Deposit(deposit);

            if (depositResult.Status == AccountStatus.Error)
            {
                return(BadRequest($"{depositResult.Message}"));
            }

            AccountDepositResponse response = new AccountDepositResponse(depositResult.AccountId,
                                                                         depositResult.Amount.Value, depositResult.Currency.Value, depositResult.OldBalance.Value,
                                                                         depositResult.NewBalance.Value);

            return(Ok(response));
        }
Ejemplo n.º 3
0
        public AccountDepositResponse Deposit(Account account, decimal amount)
        {
            AccountDepositResponse response = new AccountDepositResponse();

            if (account.Type == AccountType.Free)
            {
                response.Success = false;
                response.Message = ("Error: Only basic and premium account can deposit with no limit. Contact IT");
                return(response);
            }
            if (amount <= 0)
            {
                response.Success = false;
                response.Message = "depost amounts must be freater tha ero.";
                return(response);
            }
            response.Success    = true;
            response.Account    = account;
            response.Amount     = amount;
            response.OldBalance = account.Balance;
            account.Balance    += amount;


            return(response);
        }
Ejemplo n.º 4
0
        public void Execute()
        {
            AccountManager accountManager = AccountManagerFactory.Create();

            Console.Clear();
            Console.WriteLine("Deposit to Account");
            Console.WriteLine("----------------------------------");
            Console.Write("Enter an account number: ");
            string accountNumber = Console.ReadLine();

            Console.Write("Enter a deposit amount: ");

            decimal.TryParse(Console.ReadLine(), out decimal amount);

            AccountDepositResponse response = accountManager.Deposit(accountNumber, amount);

            if (response.Success)
            {
                Console.WriteLine("Deposit completed");
                Console.WriteLine($"Account number: {response.Account.AccountNumber}");
                Console.WriteLine($"Old balance: {response.OldBalance:c}");
                Console.WriteLine($"Amount Deposited: {response.Amount}");
                Console.WriteLine($"New balance: {response.Account.Balance:C}");
            }
            else
            {
                Console.WriteLine("An error occured");
                Console.WriteLine(response.Message);
            }
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
Ejemplo n.º 5
0
        public AccountDepositResponse Deposit(Account account, decimal amount)
        {
            AccountDepositResponse accountDepositResponse = new AccountDepositResponse();

            if ((account.Type != AccountType.Basic) && account.Type != AccountType.Premium)
            {
                accountDepositResponse.Message = "Error: contact IT";
                accountDepositResponse.Success = false;
                return(accountDepositResponse);
            }

            if (amount <= 0)
            {
                accountDepositResponse.Message = "Deposit must be > 0";
                accountDepositResponse.Success = false;
                return(accountDepositResponse);
            }

            accountDepositResponse.OldBalance       = account.Balance;
            accountDepositResponse.Account          = account;
            accountDepositResponse.Account.Balance += amount;
            accountDepositResponse.Success          = true;
            accountDepositResponse.Message          = "Success";

            return(accountDepositResponse);
        }
        public AccountDepositResponse Deposit(Account account, decimal amount)
        {
            AccountDepositResponse response = new AccountDepositResponse
            {
                Success = false
            };

            if ((account.Type == AccountType.Basic) || (account.Type == AccountType.Premium))
            {
                // Continue
            }
            else
            {
                response.Message = "Error: Only basic and premium accounts can deposit with no limit. Contact IT.";
                return(response);
            }

            if (amount <= 0)
            {
                response.Message = "Deposit amounts must be greater than zero";
                return(response);
            }

            response.OldBalance = account.Balance;
            account.Balance    += amount;
            response.Account    = account;
            response.Amount     = amount;
            response.Success    = true;

            return(response);
        }
Ejemplo n.º 7
0
        public void Execute()
        {
            AccountManager accountManager = AccountManagerFactory.Create();

            //ask the user to give us an account number
            Console.WriteLine("Please enter an account number: ");
            string accountNumber = Console.ReadLine();

            Console.Write("Please enter a deposit amount: ");
            decimal amount = decimal.Parse(Console.ReadLine());

            AccountDepositResponse response = accountManager.Deposit(accountNumber, amount);

            if (response.Success)
            {
                Console.WriteLine("Your deposit was completed!");
                Console.WriteLine($"Account number: {response.Account.AccountNumber}");
                Console.WriteLine($"Old balance: {response.OldBalance}");
                Console.WriteLine($"Amount deposited: {response.Amount:c}");
                Console.WriteLine($"New balance: {response.Account.Balance:c}");
            }
            else
            {
                Console.WriteLine("An error occurred: ");
                Console.WriteLine(response.Message);
            }
            Console.WriteLine("Press any key to continue...:");
            Console.ReadKey();
        }
Ejemplo n.º 8
0
        public AccountDepositResponse Deposit(Account account, decimal amount)
        {
            AccountDepositResponse response = new AccountDepositResponse();

            if (account.Type != AccountType.Free)
            {
                response.Success = false;
                response.Message = "Error: a non free account hit the Free Deposit Rule.  Contact IT";
                return(response);
            }

            if (amount > 100)
            {
                response.Success = false;
                response.Message = "Free accounts cannot deposit more than $100 at a time";
                return(response);
            }

            if (amount <= 0)
            {
                response.Success = false;
                response.Message = "Deposit amounts must be positive";
                return(response);
            }

            //this is where updated account information is stoted

            response.OldBalance = account.Balance;
            account.Balance    += amount;
            response.Account    = account;
            response.Amount     = amount;
            response.Success    = true;

            return(response);
        }
Ejemplo n.º 9
0
        public void Execute()
        {
            Console.Clear();
            AccountManager accountManager = AccountManagerFactory.Create();

            Console.Write("Please enter an account number:");
            string accountNumber = Console.ReadLine();

            Console.Write("Please enter a deposit amount:");
            decimal amount = decimal.Parse(Console.ReadLine());

            AccountDepositResponse response = accountManager.Deposit(accountNumber, amount);

            if (response.Success)
            {
                Console.WriteLine("Deposit completed!");
                Console.WriteLine($"Account Number {response.Account.AccountNumber}");
                Console.WriteLine($"Old Balance {response.OldBalance:c}");
                Console.WriteLine($"Deposit Amount {response.Amount:c}");
                Console.WriteLine($"Current Balance {response.Account.Balance:c}");
            }
            else
            {
                Console.WriteLine("An error occured:");
                Console.WriteLine(response.Message);
            }
            Console.WriteLine("Press any key to continue.");
            Console.ReadKey();
        }
Ejemplo n.º 10
0
        public AccountDepositResponse Deposit(Account account, decimal amount)
        {
            AccountDepositResponse accountDepositResponse = new AccountDepositResponse();

            if (account.Type != AccountType.Free)
            {
                accountDepositResponse.Message = "Error: contact IT";
                accountDepositResponse.Success = false;
                return(accountDepositResponse);
            }
            if (amount > 100)
            {
                accountDepositResponse.Message = "Free accounts cannot deposit more than $100 at once";
                accountDepositResponse.Success = false;
                return(accountDepositResponse);
            }
            if (amount < 0)
            {
                accountDepositResponse.Message = "Free accounts cannot deposit negative amounts";
                accountDepositResponse.Success = false;
                return(accountDepositResponse);
            }
            accountDepositResponse.OldBalance       = account.Balance;
            accountDepositResponse.Account          = account;
            accountDepositResponse.Account.Balance += amount;
            accountDepositResponse.Success          = true;
            accountDepositResponse.Message          = "Success";
            return(accountDepositResponse);
        }
Ejemplo n.º 11
0
        public void Execute()
        {
            Console.Clear();

            AccountManager acctMgr = Factory.Create();

            Console.WriteLine("Enter an account number: ");
            string acctNum = Console.ReadLine();

            Console.Write("Enter a deposit amount");
            decimal amt = decimal.Parse(Console.ReadLine());

            AccountDepositResponse response = acctMgr.Deposit(acctNum, amt);

            if (response.Success)
            {
                Console.WriteLine("Deposit completed!");
                Console.WriteLine($"Account Number : {response.Acct.AccountNumber}");
                Console.WriteLine($"Old balance: {response.OldBalance:c}");
                Console.WriteLine($"Deposit amount: { response.Amount:c}");
                Console.WriteLine($"New balance: {response.Acct.Balance:c}");
            }
            else
            {
                Console.WriteLine("An error occurred: ");
                Console.WriteLine(response.Message);
            }

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
Ejemplo n.º 12
0
        public AccountDepositResponse Deposit(string accountNumber, decimal amount)
        {
            AccountDepositResponse response = new AccountDepositResponse();

            response.Account = _accountRepository.LoadAccount(accountNumber);

            if (response.Account == null)
            {
                response.Success = false;
                response.Message = $"{accountNumber} is not a valid account.";
                return(response);
            }
            else
            {
                response.Success = true;
            }

            IDeposit depositRule = DepositRulesFactory.Create(response.Account.Type);

            response = depositRule.Deposit(response.Account, amount);

            if (response.Success)
            {
                _accountRepository.SaveAccount(response.Account);
            }

            return(response);
        }
Ejemplo n.º 13
0
        public AccountDepositResponse Deposit(Account account, decimal amount)
        {
            AccountDepositResponse response = new AccountDepositResponse();

            if (account.Type != AccountType.Free)
            {
                response.Success = false;
                response.Message = "Error: A non free account hit the Free Deposit Rule. Contact IT";
                return(response);
            }

            // cant deposit more than $100 in a day
            if (amount > 100)
            {
                response.Success = false;
                response.Message = "free account cannot deposit more than $100 in a day";
                return(response);
            }

            // has to deposit more than $0
            if (amount <= 0)
            {
                response.Success = false;
                response.Message = "Deposit amount must be greater than $0";
                return(response);
            }

            response.OldBalance = account.Balance;
            account.Balance    += amount;
            response.Account    = account;
            response.Amount     = amount;
            response.Success    = true;

            return(response);
        }
Ejemplo n.º 14
0
        public void Execute()
        {
            Console.Clear();
            AccountManager manager = DIContainer.Kernel.Get <AccountManager>();

            Console.Write("Enter an account number: ");
            string accountNumber = Console.ReadLine();


            //added input amount validation
            decimal amount = WorkflowHelpers.DecimalInputValidation("Enter a deposit amount: ");



            AccountDepositResponse response = manager.Deposit(accountNumber, amount);

            if (response.Success)
            {
                Console.WriteLine("Deposit completed!");
                Console.WriteLine($"Account Number: {response.Account.AccountNumber}");
                Console.WriteLine($"Old balance: {response.OldBalance:c}");
                Console.WriteLine($"Amount Deposited: {response.Amount:c}");
                Console.WriteLine($"New balance: {response.Account.Balance:c}");
            }
            else
            {
                Console.WriteLine("An error occurred: ");
                Console.WriteLine(response.Message);
            }

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
Ejemplo n.º 15
0
        public AccountDepositResponse Deposit(Account account, decimal amount)
        {
            AccountDepositResponse response = new AccountDepositResponse();

            if ((account.Type != AccountType.Basic) &&
                (account.Type != AccountType.Premium))
            {
                response.Success = false;
                response.Message = "Error: Only basic and premium accounts can deposit with no limit. Contact IT";
                return(response);
            }
            if (amount <= 0)
            {
                response.Success = false;
                response.Message = "Deposit amounts must be positive!";
                return(response);
            }

            response.OldBalance = account.Balance;
            account.Balance    += amount;
            response.Account    = account;
            response.Amount     = amount;
            response.Success    = true;

            return(response);
        }
Ejemplo n.º 16
0
        public void Execute()
        {
            AccountManager accountManager = AccountManagerFactory.Create();

            Console.Clear();
            Console.WriteLine("Deposit");
            Console.WriteLine("============================");

            Console.Write("Enter an account number: ");
            string accountNumber = Console.ReadLine();

            Console.Write("Enter a deposit amount: ");
            decimal amount = decimal.Parse(Console.ReadLine());//TryParse

            AccountDepositResponse response = accountManager.Deposit(accountNumber, amount);

            if (response.Success)
            {
                Console.WriteLine("Deposit completed!");
                Console.WriteLine($"Account Number: {response.Account.AccountNumber}");
                Console.WriteLine($"Old balance: {response.OldBalance:c} ");
                Console.WriteLine($"Amount Deposited: {response.Amount:c}");
                Console.WriteLine($"New Balance: {response.Account.Balance:c} ");
                ConsoleIO.DisplayAccountDetails(response.Account);
            }
            else
            {
                Console.WriteLine("An error occurred: ");
                Console.WriteLine(response.Message);
            }
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
Ejemplo n.º 17
0
        public void Execute()
        {
            string  consoleText, accountNumber;
            decimal amount;

            //AccountManager accountManager = AccountManagerFactory.Create();
            AccountManager accountManager = DIContainer.Kernel.Get <AccountManager>();

            consoleText = "Deposit to an account\n" + "---------------------";
            ConsoleIO.DisplayText(consoleText, true);
            consoleText = "Enter a deposit amount: ";
            if (!ConsoleIO.GetAccountNumber(out accountNumber))
            {
                return;
            }
            if (!ConsoleIO.GetDecimalValue(consoleText, true, out amount))
            {
                return;
            }
            AccountDepositResponse response = accountManager.Deposit(accountNumber, amount);

            if (response.Success)
            {
                ConsoleIO.DisplayDepositDetails(response);
            }
            else
            {
                consoleText = "An error occurred:\n" + response.Message;
                ConsoleIO.DisplayText(consoleText, false, false, ConsoleColor.Red);
            }
            ConsoleIO.DisplayText("Press any key to continue...", false, true);
        }
        public void Execute()
        {
            Console.Clear();
            AccountManager manager = AccountManagerFactory.Create();

            Console.Write("Please enter an account number: ");
            string accountNumber = ConsoleIO.GetAcctNumber();

            decimal amount = ConsoleIO.GetDecimalAmount("Please enter a deposit amount: ");

            AccountDepositResponse response = manager.Deposit(accountNumber, amount);

            if (response.Success)
            {
                Console.Clear();
                Console.WriteLine("Deposit successful!");
                Console.WriteLine("-----------------------------");
                Console.WriteLine($"Account number: {response.Account.AccountNumber}");
                Console.WriteLine($"Old balance: {response.OldBalance:c}");
                Console.WriteLine($"Amount deposited: {response.Amount:c}");
                Console.WriteLine($"New balance: {response.Account.Balance:c}");
            }
            else
            {
                Console.WriteLine(response.Message);
            }

            Console.Write("Press any key to continue...");
            Console.ReadKey();
        }
Ejemplo n.º 19
0
        public AccountDepositResponse Deposit(Account account, decimal amount)
        {
            AccountDepositResponse response = new AccountDepositResponse();

            if (account.Type != AccountType.Free)
            {
                response.Success = false;
                response.Message = "Error: a non free account hit the Free Deposit Rule. Contact IT";
                return(response);
            }

            if (amount > 100)
            {
                response.Success = false;
                response.Message = "Free accounts cannot deposit more than $100 at a time.";
                return(response);
            }

            if (amount <= 0)
            {
                response.Success = false;
                response.Message = "Deposit amounts must be greater than zero.";
                return(response);
            }

            response.OldBalance = account.Balance;
            account.Balance    += amount;
            response.Account    = account;
            response.Amount     = amount;
            response.Success    = true;

            return(response);
        }
Ejemplo n.º 20
0
        public void Execute()
        {
            Console.Clear();

            AccountManager accountManager = AccountManagerFactory.Create();

            Console.Write("Enter an account number: ");
            string accountNumber = Console.ReadLine();

            Console.Write("Enter a deposit amount (Exmaple format (50.00) : ");
            decimal amount = decimal.Parse(Console.ReadLine());

            AccountDepositResponse response = accountManager.Deposit(accountNumber, amount);

            if (response.Success)
            {
                Console.WriteLine("Deposit Completed!");
                Console.WriteLine($"Account number: {response.Account.AccountNumber}");
                Console.WriteLine($"Old Balance: {response.OldBalance:c}");
                Console.WriteLine($"Amount Deposited: {response.Amount:c}");
                Console.WriteLine($"New Balance: {response.Account.Balance:c}");
            }

            else
            {
                Console.WriteLine("An error occured: ");
                Console.WriteLine(response.Message);
            }
            Console.WriteLine("Press any key to continue...");
            Console.ReadLine();
        }
Ejemplo n.º 21
0
        public AccountDepositResponse Deposit(Account account, decimal amount)
        {
            AccountDepositResponse response = new AccountDepositResponse();

            if (account.Type != AccountType.Basic && account.Type != AccountType.Premium)
            {
                response.Success = false;
                Console.WriteLine("Error: Only basic and premiun accounts can deposit with no limit. Contack IT");
                return(response);
            }

            if (amount <= 0)
            {
                response.Success = false;
                Console.WriteLine("Deposit amounts must be positive!");
                return(response);
            }

            response.Success    = true;
            response.Account    = account;
            response.Amount     = amount;
            response.OldBalance = account.Balance;
            account.Balance    += amount;
            return(response);
        }
Ejemplo n.º 22
0
        public AccountDepositResponse Deposit(string accountNumber, decimal amount)
        {
            AccountDepositResponse accountDepositResponse = new AccountDepositResponse
            {
                Account = _accountRepository.LoadAccount(accountNumber)
            };

            if (accountDepositResponse.Account == null)
            {
                Console.WriteLine(accountNumber + " is not an account number.");
                return(accountDepositResponse);
            }
            else
            {
                accountDepositResponse.Amount  = amount;
                accountDepositResponse.Success = true;
            }

            IDeposit depositRule = DepositRulesFactory.Create(accountDepositResponse.Account.Type);

            accountDepositResponse = depositRule.Deposit(accountDepositResponse.Account, amount);

            if (accountDepositResponse.Success)
            {
                _accountRepository.SaveAccount(accountDepositResponse.Account);
            }

            return(accountDepositResponse);
        }
Ejemplo n.º 23
0
        public void Execute()
        {
            Console.Clear();
            AccountManager accountManager = DIContainer.Kernel.Get <AccountManager>();

            Console.WriteLine("Enter an account number: ");
            string accountNumber = Console.ReadLine();

            Console.Write("Enter a deposit amount: ");
            decimal amount = decimal.Parse(Console.ReadLine());

            AccountDepositResponse response = accountManager.Deposit(accountNumber, amount);

            if (response.Success)
            {
                Console.WriteLine("Deposit completed!");
                Console.WriteLine($"Account number: {response.Account.Balance}");
                Console.WriteLine($"Old balance: {response.OldBalance:c}");
                Console.WriteLine($"Amount deposited: {response.Amount:c}");
                Console.WriteLine($"New balance: {response.Account.Balance:c}");
            }
            else
            {
                Console.WriteLine("An error occurred: ");
                Console.WriteLine(response.Message);
            }

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
Ejemplo n.º 24
0
        public void CanWriteDepositToFile()
        {
            AccountManager manager = DIContainer.Container.Resolve <AccountManager>();

            AccountDepositResponse response = manager.Deposit("11111", 1.25m);

            Assert.AreEqual(true, response.Success);
            Assert.AreEqual(101.25m, response.Account.Balance);
        }
Ejemplo n.º 25
0
        public void NegativeOrZeroAmountDepositsFail(string accountNumber, decimal amount)
        {
            IAccountRepository     repo           = new FileAccountRepository();
            Account                account        = repo.LoadAccount(accountNumber);
            AccountManager         accountManager = new AccountManager(repo);
            AccountDepositResponse response       = accountManager.Deposit(account.AccountNumber, amount);

            Assert.IsFalse(response.Success);
        }
Ejemplo n.º 26
0
        public void CanDepositToAccountInFile(string accountNumber, decimal depositAmount, bool expectedResult)
        {
            IAccountRepository     repo           = new FileAccountRepository();
            Account                account        = repo.LoadAccount(accountNumber);
            AccountManager         accountManager = new AccountManager(repo);
            AccountDepositResponse response       = accountManager.Deposit(account.AccountNumber, depositAmount);

            Assert.AreEqual(expectedResult, response.Success);
        }
Ejemplo n.º 27
0
        public void CanWriteDepositToFile()
        {
            AccountManager manager = AccountManagerFactory.Create();

            AccountDepositResponse response = manager.Deposit("11111", 1.25m);

            Assert.AreEqual(true, response.Success);
            Assert.AreEqual(101.25m, response.Account.Balance);
        }
        public void CanWriteDepositToFile()
        {
            IAccountRepository repo    = DIContainer.Kernel.Get <IAccountRepository>();
            AccountManager     manager = new AccountManager(repo);

            AccountDepositResponse response = manager.Deposit("11111", 1.25m);

            Assert.AreEqual(true, response.Success);
            Assert.AreEqual(101.25m, response.Account.Balance);
        }
Ejemplo n.º 29
0
 public static void DisplayDepositDetails(AccountDepositResponse response)
 {
     Console.ForegroundColor = ConsoleColor.Blue;
     Console.WriteLine("Deposit Completed!");
     Console.WriteLine($"Account Number: {response.Account.AccountNumber}");
     Console.WriteLine($"Old Balance: {response.OldBalance:c}");
     Console.WriteLine($"Amount Deposited: {response.Amount}");
     Console.WriteLine($"New Balance: {response.Account.Balance:c}");
     Console.ResetColor();
 }
        public void Execute()
        {
            Console.Clear();
            IAccountRepository repo    = DIContainer.Kernel.Get <IAccountRepository>();
            AccountManager     manager = new AccountManager(repo);

            Console.Write("Enter an account number: ");
            string accountNumber = Console.ReadLine();

            Console.Write("Enter a deposit amount: ");
            string  depositAmount = Console.ReadLine();
            decimal amount        = 0m;
            decimal result;

            if (!String.IsNullOrWhiteSpace(depositAmount))
            {
                if (decimal.TryParse(depositAmount, out result))
                {
                    amount = result;
                }
                else
                {
                    Console.WriteLine("You must enter a deposit amount in the form of a number in this field!");
                    Console.WriteLine("Press any key to continue");
                    Console.ReadKey();
                    return;
                }
            }
            else
            {
                Console.WriteLine("You must enter a deposit amount in the form of a number in this field!");
                Console.WriteLine("Press any key to continue");
                Console.ReadKey();
                return;
            }

            AccountDepositResponse response = manager.Deposit(accountNumber, amount);

            if (response.Success)
            {
                Console.WriteLine("Deposit completed!");
                Console.WriteLine($"Account Number: {response.Account.AccountNumber}");
                Console.WriteLine($"Old balance: {response.OldBalance:c}");
                Console.WriteLine($"Amount Deposited: {response.Amount:c}");
                Console.WriteLine($"New balance: {response.Account.Balance:c}");
            }
            else
            {
                Console.WriteLine("An error occurred: ");
                Console.WriteLine(response.Message);
            }

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }