예제 #1
0
        public void Execute()
        {
            string consoleText, accountNumber;

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

            consoleText = "Lookup an account\n" + "-----------------";
            ConsoleIO.DisplayText(consoleText, true);
            if (!ConsoleIO.GetAccountNumber(out accountNumber))
            {
                return;
            }
            AccountLookupResponse response = accountManager.LookupAccount(accountNumber);

            if (response.Success)
            {
                ConsoleIO.DisplayAccoutDetails(response.Account);
            }
            else
            {
                consoleText = "An error occurred:\n" + response.Message;
                ConsoleIO.DisplayText(consoleText, false, false, ConsoleColor.Red);
            }
            ConsoleIO.DisplayText("Press any key to continue...", false, true);
        }
예제 #2
0
        public void CanLoadAccountTestData(string testData, bool expected)
        {
            AccountManager        manager  = AccountManagerFactory.Create();
            AccountLookupResponse response = manager.LookupAccount(testData);

            Assert.AreEqual(testData, response.Account.AccountNumber);
        }
        public void Execute()
        {
            IAccountRepository repo    = DIContainer.Kernel.Get <IAccountRepository>();
            AccountManager     manager = new AccountManager(repo);

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

            AccountLookupResponse response = manager.LookupAccount(accountNumber);

            if (response.Success)
            {
                ConsoleIO.DisplayAccountDetails(response.Account);
            }
            else
            {
                Console.WriteLine("An error occurred: ");
                Console.WriteLine(response.Message);
            }

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
예제 #4
0
        public AccountLookupResponse LookupAccount(string accountNumber)
        {
            AccountLookupResponse response = new AccountLookupResponse();

            try
            {
                response.Account = _accountRepository.LoadAccount(accountNumber);
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = ex.Message;
                return(response);
            }

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

            response.Success = true;
            return(response);
        }
예제 #5
0
        public void Execute()
        {
            AccountManager manager = AccountManagerFactory.Create();

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

            AccountLookupResponse response = manager.LookupAccount(accountNumber);

            if (response.Success)
            {
                ConsoleIO.DisplayAccountDetails(response.Account);
            }
            else
            {
                Console.WriteLine("An error occured: ");
                Console.WriteLine(response.Message);
            }

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
        public void Execute()
        {
            AccountManager manager = DIContainer.Kernel.Get <AccountManager>();  //instantiate and return whatever the app.config file specifies

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

            AccountLookupResponse response = manager.LookupAccount(accountNumber);  //we will be asking the account manager to LookupAccount but it returns a response

            if (response.Success)
            {
                ConsoleIO.DisplayAccountDetails(response.Account);
            }
            else
            {
                Console.WriteLine("An error occured: ");
                Console.WriteLine(response.Message);
            }

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
        public void BasicAccount_NotFoundTestData()
        {
            AccountManager manager = DIContainer.Kernel.Get <AccountManager>();

            AccountLookupResponse response = manager.LookupAccount("99989");

            Assert.IsNull(response.Account);
            Assert.IsFalse(response.Success);
        }
예제 #8
0
        public void CanLoadFreeAccountTestData()
        {
            AccountManager        manager  = AccountManagerFactory.Create();
            AccountLookupResponse response = manager.LookupAccount("");

            Assert.IsNotNull(response.Account);
            Assert.IsTrue(response.Success);
            Assert.AreEqual("12345", response.Account.AccountNumber);
        }
예제 #9
0
        public void CanNotLoadNonExistantAccountTestData()
        {
            AccountManager manager = AccountManagerFactory.Create();

            AccountLookupResponse response = manager.LookupAccount("9999991");

            Assert.IsNull(response.Account);
            Assert.IsFalse(response.Success);
        }
        public void BasicAccount_CanLoadAccountDataTest()
        {
            AccountManager manager = DIContainer.Kernel.Get <AccountManager>();

            AccountLookupResponse response = manager.LookupAccount("33333");

            Assert.IsNotNull(response.Account);
            Assert.IsTrue(response.Success);
            Assert.AreEqual("33333", response.Account.AccountNumber);
        }
예제 #11
0
        public void CanLoadFreeAccountTestData()
        {
            AccountManager manager = new AccountManager(new FreeAccountTestRepository());

            AccountLookupResponse response = manager.LookupAccount("12345");

            Assert.IsNotNull(response.Account);
            Assert.IsTrue(response.Success);
            Assert.AreEqual("12345", response.Account.AccountNumber);
        }
예제 #12
0
        public void CanLoadBasicAccountTestData(string name, bool expectedResult)
        {
            AccountManager manager = AccountManagerFactory.Create();

            AccountLookupResponse response = manager.LookupAccount(name);

            Assert.IsNotNull(response.Account);
            Assert.IsTrue(response.Success);
            Assert.AreEqual(name, response.Account.AccountNumber);
        }
예제 #13
0
        public void CanLoadFreeAccountTestData()
        {
            AccountManager manager = DIContainer.Kernel.Get <AccountManager>();

            AccountLookupResponse response = manager.LookupAccount("12345");

            Assert.IsNotNull(response.Account);
            Assert.IsTrue(response.Success);
            Assert.AreEqual("12345", response.Account.AccountNumber);
        }
예제 #14
0
        public void CanLoadPremiumAccountTestData()
        {
            AccountManager manager = DIContainer.Container.Resolve <AccountManager>();

            AccountLookupResponse response = manager.LookupAccount("44444");

            Assert.IsNotNull(response.Account);
            Assert.IsTrue(response.Success);
            Assert.AreEqual("44444", response.Account.AccountNumber);
        }
예제 #15
0
        public void CanLoadPremiumAccount()
        {
            AccountManager        accountManager        = AccountManagerFactory.Create();
            AccountLookupResponse accountLookupResponse = accountManager.Lookup("77777");

            Assert.IsNotNull(accountLookupResponse.Account);
            Assert.IsTrue(accountLookupResponse.Success);
            Assert.AreEqual("77777", accountLookupResponse.Account.AccountNumber);
            accountLookupResponse = accountManager.Lookup("1");
            Assert.IsNull(accountLookupResponse.Account);
        }
        public Account LoadAccount(string AccountNumber)
        {
            AccountLookupResponse response = new AccountLookupResponse();

            if (AccountNumber != _account.AccountNumber)
            {
                return(null);
            }

            return(_account);
        }
예제 #17
0
        public void CanLoadPremiumAccountTestData()
        {
            IAccountRepository repo    = DIContainer.Kernel.Get <IAccountRepository>();
            AccountManager     manager = new AccountManager(repo);

            AccountLookupResponse response = manager.LookupAccount("44444");

            Assert.IsNotNull(response.Account);
            Assert.IsTrue(response.Success);
            Assert.AreEqual("44444", response.Account.AccountNumber);
        }
예제 #18
0
        public void CanLoadBasicAccountTestData()
        {
            AccountManager        accountManager        = AccountManagerFactory.Create();
            AccountLookupResponse accountLookupResponse = accountManager.Lookup("33333");

            Assert.IsNotNull(accountLookupResponse.Account);
            Assert.IsTrue(accountLookupResponse.Success);
            Assert.AreEqual("33333", accountLookupResponse.Account.AccountNumber);

            accountLookupResponse = accountManager.Lookup("1");
            Assert.IsNull(accountLookupResponse.Account);
        }
예제 #19
0
        public void CanLoadFileData()
        {
            AccountManager manager = AccountManagerFactory.Create();

            AccountLookupResponse response = manager.LookupAccount("55555");

            Assert.IsNotNull(response.Account);
            Assert.IsTrue(response.Success);
            Assert.AreEqual("55555", response.Account.AccountNumber);
            Assert.AreEqual("Premium Customer", response.Account.Name);
            Assert.AreEqual(AccountType.Premium, response.Account.Type);
            Assert.AreEqual(1000, response.Account.Balance);
        }
        public void CanLoadFileData()
        {
            IAccountRepository repo    = DIContainer.Kernel.Get <IAccountRepository>();
            AccountManager     manager = new AccountManager(repo);

            AccountLookupResponse response = manager.LookupAccount("55555");

            Assert.IsNotNull(response.Account);
            Assert.IsTrue(response.Success);
            Assert.AreEqual("55555", response.Account.AccountNumber);
            Assert.AreEqual("Premium Customer", response.Account.Name);
            Assert.AreEqual(AccountType.Premium, response.Account.Type);
            Assert.AreEqual(1000, response.Account.Balance);
        }
        public Account LoadAccount(string AccountNumber)
        {
            AccountLookupResponse response = new AccountLookupResponse();

            if (AccountNumber == _account.AccountNumber)
            {
                response.Success = true;
                return(_account);
            }
            else
            {
                return(null);
            }
        }
        public AccountLookupResponse LookupAccount(string accountNumber)
        {
            AccountLookupResponse response = new AccountLookupResponse();

            response.Account = _accountRepository.LoadAccount(accountNumber);
            if (response.Account == null)
            {
                response.Success = false;
                response.Message = $"{accountNumber} is not a valid account.";
            }
            else
            {
                response.Success = true;
            }
            return(response);
        }
예제 #23
0
        public AccountLookupResponse Lookup(string accountNumber)
        {
            AccountLookupResponse accountLookupResponse = new AccountLookupResponse
            {
                Account = _accountRepository.LoadAccount(accountNumber)
            };

            if (accountLookupResponse.Account == null)
            {
                accountLookupResponse.Message = (accountNumber + " is not an account number.");
            }
            else
            {
                accountLookupResponse.Success = true;
            }
            return(accountLookupResponse);
        }
예제 #24
0
        public AccountLookupResponse LookupAccount(int AccountID)
        {
            AccountLookupResponse response = new AccountLookupResponse();

            response.Account = _accountRepository.LoadAccount(AccountID);

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

            return(response);
        }
        public void Execute()
        {
            Console.Clear();
            AccountManager accountManager = AccountManagerFactory.Create();

            Console.WriteLine("Lookup an account");
            Console.WriteLine("===============================");
            Console.Write("Enter an account number: ");
            string accountNumber = Console.ReadLine();
            AccountLookupResponse accountLookupResponse = accountManager.Lookup(accountNumber);

            Console.Clear();
            if (accountLookupResponse.Success)
            {
                ConsoleUI.DisplayAccountDetails(accountLookupResponse.Account);
            }
            else
            {
                Console.WriteLine(accountLookupResponse.Message);
            }
            Console.WriteLine("Press any key to continue.");
            Console.ReadLine();
        }
예제 #26
0
        public void Exicute()
        {
            Console.Clear();
            AccountManager accountManager = AccountManagerFactory.Create();

            Console.WriteLine("Deposit amount to an account");
            Console.WriteLine("===============================");
            Console.Write("Enter an account number: ");
            string userInputAccountNumber = Console.ReadLine();

            Console.Write("Enter a decimal amount: ");
            decimal userInputAmount = ConsoleUI.GetValid();

            AccountLookupResponse accountLookupResponse = new AccountLookupResponse();

            AccountDepositResponse accountDepositResponse = accountManager.Deposit(userInputAccountNumber, userInputAmount);

            if (accountDepositResponse.Success)
            {
                Console.Clear();
                Console.WriteLine("Deposit Compleated");
                Console.WriteLine("Account Number: " + userInputAccountNumber);
                Console.WriteLine("Account Name: " + accountDepositResponse.Account.Name);
                Console.WriteLine("Old Balance: " + "$" + accountDepositResponse.OldBalance);
                Console.WriteLine("Amount Deposited: " + "$" + userInputAmount);
                Console.WriteLine("New Balance: " + "$" + (accountDepositResponse.Account.Balance));
            }

            else
            {
                Console.WriteLine("Error: " + accountDepositResponse.Message);
            }

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