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

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

            Console.WriteLine("Please enter the amount you'd like to withdraw: ");
            decimal amount = decimal.Parse(Console.ReadLine());

            AccountWithdrawResponse response = accountManager.Withdraw(accountNumber, amount);

            if (response.Success)
            {
                Console.WriteLine("Withdraw completed!");
                Console.WriteLine($"Account Number : {response.Account.AccountNumber}");
                Console.WriteLine($"Old Balance: {response.OldBalance:c}");
                Console.WriteLine($"Withdraw amount: {response.Amount:c}");
                Console.WriteLine($"New balance: {response.Account.Balance:c}");
            }
            if (!response.Success)
            {
                Console.WriteLine("An error occurred: ");
                Console.WriteLine(response.Message);
            }
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
Exemple #2
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: ");

            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 occurred: ");
                Console.WriteLine(response.Message);
            }

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
Exemple #3
0
        private void AskToEditArea()
        {
            AccountManager   manager  = AccountManagerFactory.Create();
            AddOrderResponse response = new AddOrderResponse();

            Console.Clear();
            ConsoleIO.DisplaySingleOrder(_originalOrder);
            while (true)
            {
                Console.Write("Enter new area or just press enter to continue: ");
                string area = Console.ReadLine();

                if (area == "")
                {
                    _newArea = _originalOrder.Area.ToString();
                    break;
                }
                else
                {
                    response = manager.CheckArea(area);
                    if (response.Success == false)
                    {
                        Console.WriteLine("An error occurred with the area entered. Contact IT.");
                        Console.WriteLine("Press any key to continue.");
                        Console.ReadKey();
                        continue;
                    }
                    else
                    {
                        _newArea = area;
                        break;
                    }
                }
            }
        }
Exemple #4
0
        public void Execute()
        {
            Console.Clear();

            AccountManager accountManager = AccountManagerFactory.Create();

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

            Console.Write("Enter an amount to withdraw: ");
            decimal amount = decimal.Parse(Console.ReadLine()); //User validation

            AccountWithdrawResponse response = accountManager.Withdraw(accountNumber, amount);

            if (response.Success)
            {
                Console.WriteLine("Withdraw Completed!");
                Console.WriteLine($"Account Number: {response.Account.AccountNumber}");
                Console.WriteLine($"Old Balance: {response.OldBalance:c}");
                Console.WriteLine($"Amount Withdrew: {response.Amount:c}");
                Console.WriteLine($"New Balance: {response.Account.Balance:c}");
                //Question mark for New Balance?
            }
            else
            {
                Console.WriteLine("An error occurred: ");
                Console.WriteLine(response.Message);
            }

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
Exemple #5
0
        public void Execute()
        {
            Console.Clear();
            AccountManager manager = AccountManagerFactory.Create();

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

            Console.WriteLine("How much would you like to withdraw? ");
            decimal amount = decimal.Parse(Console.ReadLine());

            AccountWithdrawResponse response = manager.Withdraw(accountNumber, amount);

            if (response.Success)
            {
                Console.WriteLine("Withdrawl completed!");
                Console.WriteLine($"Account Number: {response.Account.AccountNumber}");
                Console.WriteLine($"Old balance: {response.OldBalance:c}");
                Console.WriteLine($"Amount Withdrawn: {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();
        }
Exemple #6
0
        public void Execute()
        {
            Console.Clear();
            AccountManager accountManager = AccountManagerFactory.Create();

            string  accountNumber = ConsoleIO.GetStringInputFromUser("Enter an account number: ");
            decimal amount        = ConsoleIO.GetDecimalFromUser("Enter a withdraw amount: ");

            AccountWithdrawResponse response = accountManager.Withdraw(accountNumber, amount);

            if (response.Success)
            {
                Console.WriteLine("Withdraw Completed!");
                Console.WriteLine($"Account Number: {response.Account.AccountNumber}");
                Console.WriteLine($"Old Balance: {response.OldBalance:c}");
                Console.WriteLine($"Amount Withdrawn: {response.Amount:c}");
                Console.WriteLine($"New Balance: {response.Account.Balance:c}");
            }
            else
            {
                Console.WriteLine("An error occured: ");
                Console.WriteLine(response.Message);
            }

            Console.WriteLine("\nPress any key to continue...");
            Console.ReadKey();
        }
Exemple #7
0
        public void CanLoadAccountTestData(string testData, bool expected)
        {
            AccountManager        manager  = AccountManagerFactory.Create();
            AccountLookupResponse response = manager.LookupAccount(testData);

            Assert.AreEqual(testData, response.Account.AccountNumber);
        }
Exemple #8
0
        public void Execute()
        {
            Console.Clear();

            AccountManager acctmgtr = AccountManagerFactory.Create();

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

            Console.WriteLine("enter the amount: ");
            decimal amt = decimal.Parse(Console.ReadLine());

            AccountWithdrawResponse response = acctmgtr.Withdraw(acctNum, amt);

            if (response.Success)
            {
                Console.WriteLine("Action completed!");
                Console.WriteLine($"Account Number: {response.Account.AccountNumber}");
                Console.WriteLine($"Old balance: {response.OldBalance:c}");
                Console.WriteLine($"Amount involved: {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();
        }
Exemple #9
0
        public void Execute()
        {
            AccountManager accountManager = AccountManagerFactory.Create();

            Console.Clear();
            Console.WriteLine("Withdraw from Account");
            Console.WriteLine("----------------------------------");

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

            Console.Write("Enter a negative withdrawl amount: ");

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

            AccountWithdrawlResponse response = accountManager.Withdrawl(accountNumber, amount);

            if (response.Success)
            {
                Console.WriteLine("Withdrawl completed");
                Console.WriteLine($"Account number: {response.Account.AccountNumber}");
                Console.WriteLine($"Old balance: {response.OldBalance:c}");
                Console.WriteLine($"Amount Withdrawn: {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.ReadKey();
        }
Exemple #10
0
        public void CanAddOrder()
        {
            AccountManager   manager  = AccountManagerFactory.Create();
            AddOrderResponse response = new AddOrderResponse();

            Orders order = new Orders()
            {
                OrderDate              = "07012017",
                OrderNumber            = 1,
                CustomerName           = "Jane Doe",
                State                  = "PA",
                TaxRate                = 6.75M,
                ProductType            = "Laminate",
                Area                   = 230.00M,
                CostPerSquareFoot      = 1.75M,
                LaborCostPerSquareFoot = 2.10M,
                MaterialCost           = 402.50M,
                LaborCost              = 483M,
                Tax   = 59.77M,
                Total = 945.27M
            };

            response = manager.AddOrderResponse(order);

            Assert.IsTrue(response.Success);
        }
Exemple #11
0
        public void Execute()
        {
            Console.Clear();

            AccountManager manager = AccountManagerFactory.Create();

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

            Console.Write("Enter your withdrawl amount: ");
            decimal amount = decimal.Parse(Console.ReadLine());

            AccountWithdrawResponse response = manager.Withdraw(accountNumber, amount);

            if (response.Success == true)
            {
                Console.WriteLine("Withdrawl Completed!");
                Console.WriteLine($"Account Number: {response.account.AccountNumber}");
                Console.WriteLine($"Old balance: {response.OldBalance:c}");
                Console.WriteLine($"Amount Withdrawn: {response.Amount:c}");
                Console.WriteLine($"New balance: {response.account.Balance:c}");
                //the new balance logic works but the c is preventing it from appearing negative dollars.
            }

            else
            {
                Console.WriteLine("An error has occurred: ");
                Console.WriteLine(response.Message);
            }

            Console.WriteLine("Press any key to return to the menu.");
            Console.ReadKey();
        }
        public void Execute()
        {
            Console.Clear();
            AccountManager accountManager = AccountManagerFactory.Create();

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



            decimal amount = WorkflowHelpers.DecimalInputValidation("Enter a withdrawal amount: ");

            AccountWithdrawResponse response = accountManager.Withdraw(accountNumber, amount);


            if (response.Success)
            {
                Console.WriteLine("Withdrawal completed!");
                Console.WriteLine($"Account Number: {response.Account.AccountNumber}");
                Console.WriteLine($"Old balance: {response.OldBalance:c}");
                Console.WriteLine($"Amount Withdrawn: {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();
        }
        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 an amount to withdraw (must be negative): ");

            AccountWithdrawResponse response = manager.Withdraw(accountNumber, amount);

            if (response.Success)
            {
                Console.Clear();
                Console.WriteLine("Withdraw successful!");
                Console.WriteLine("-----------------------------");
                Console.WriteLine($"Account number: {response.Account.AccountNumber}");
                Console.WriteLine($"Old balance: {response.OldBalance:c}");
                Console.WriteLine($"Amount withdrawn: {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();
        }
        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();
        }
Exemple #15
0
        public void Execute()
        {
            AccountManager manager = AccountManagerFactory.Create();

            Console.Clear();
            Console.WriteLine("Lookup an account");
            Console.WriteLine("------------------------");
            Console.WriteLine("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();
        }
Exemple #16
0
        public void CanLoadTestOrderData()
        {
            AccountManager manager = AccountManagerFactory.Create();

            OrderLookupResponse response = manager.LookupOrders("06012013");

            Assert.IsTrue(response.Success);
        }
Exemple #17
0
        public void CanLookUpSingleOrder()
        {
            AccountManager manager = AccountManagerFactory.Create();

            OrderLookupResponse response = manager.LookupSingleOrder("06012013", 1);

            Assert.IsTrue(response.Success);
        }
        [TestCase("", false)]                       // empty string


        public void DisplayOrderTest(string date, bool expectedResult)
        {
            AccountManager manager = AccountManagerFactory.Create();

            OrderLookupResponse response = manager.DisplayOrder(date);

            Assert.AreEqual(expectedResult, response.Success);
        }
Exemple #19
0
        [TestCase("1/3/2020 12:00:00 AM", "0", false)]   // account exists and can be found

        public void EditOrDeleteOrderSelectionTest(string date, string orderNumber, bool expectedResult)
        {
            AccountManager manager = AccountManagerFactory.Create();

            AddEditOrDeleteOrderResponse response = manager.EditOrDeleteOrderSelection(date, orderNumber);

            Assert.AreEqual(expectedResult, response.Success);
        }
Exemple #20
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);
        }
Exemple #21
0
        public void CanNotLoadNonExistantAccountTestData()
        {
            AccountManager manager = AccountManagerFactory.Create();

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

            Assert.IsNull(response.Account);
            Assert.IsFalse(response.Success);
        }
Exemple #22
0
        public void CanWriteWithdrawToFile()
        {
            AccountManager manager = AccountManagerFactory.Create();

            AccountWithdrawResponse response = manager.Withdraw("22222", -499.99m);

            Assert.AreEqual(.01m, response.Account.Balance);
            Assert.AreEqual(true, response.Success);
        }
Exemple #23
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 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);
        }
Exemple #25
0
        private void AskForOrderDateandNumber()
        {
            AccountManager      accountManager = AccountManagerFactory.Create();
            AddOrderResponse    response       = new AddOrderResponse();
            OrderLookupResponse lookupResponse = new OrderLookupResponse();

            Console.Clear();
            // Query user for order date
            Console.Write("\nEnter an order date (MMddyyyy): ");

            string dateInput = Console.ReadLine();

            lookupResponse = accountManager.CheckDateFormat(dateInput);

            if (lookupResponse.Success == false)
            {
                Console.WriteLine(lookupResponse.Message);
                Console.WriteLine("Press any key to continue.");
                Console.ReadKey();
                AskForOrderDateandNumber();
            }
            else
            {
                lookupResponse = accountManager.LookupOrders(dateInput);

                if (lookupResponse.Success == false)
                {
                    Console.WriteLine(lookupResponse.Message);
                    Console.WriteLine("Press any key to continue.");
                    Console.ReadKey();
                    Menu.Start();
                }
                else
                {
                    //Query user for order number
                    Console.Write("\nEnter an order number: ");
                    int orderNumber = int.Parse(Console.ReadLine());

                    OrderLookupResponse checkNumberResponse = accountManager.CheckOrderNumber(dateInput, orderNumber.ToString());

                    if (checkNumberResponse.Success == true)
                    {
                        _originalOrder = accountManager.GetSingleOrder(dateInput, orderNumber);
                    }
                    else
                    {
                        Console.WriteLine($"There are no order placed on that order date for {orderNumber}.");
                        Console.WriteLine("Press any key to continue.");
                        Console.ReadKey();
                        AskForOrderDateandNumber();
                    }
                }
            }
        }
        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: ");
            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 = 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();
        }
Exemple #27
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 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);
        }
Exemple #29
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);
        }
Exemple #30
0
        public void Execute()
        {
            decimal amount;
            bool    Loop = true;

            Console.Clear();
            AccountManager accountManager = AccountManagerFactory.Create();

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


            do
            {
                Console.Write("Enter a Withdrawal amount: ");


                bool result = decimal.TryParse(Console.ReadLine(), out amount);
                if (result)
                {
                    Loop = false;
                }
                else
                {
                    Console.WriteLine("That's not an amount, try again, friend");
                    Loop = true;
                }
            }while (Loop == true);



            AccountWithdrawResponse response = accountManager.Withdraw(accountNumber, amount);

            if (response.Success)
            {
                Console.WriteLine("Withdrawal completed!");
                Console.WriteLine($"Account Number: {response.Account.AccountNumber}");
                Console.WriteLine($"Old Balance: {response.OldBalance:c}");
                Console.WriteLine($"Amount Withdrawn: {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();
        }