internal void ManageAccounts()
        {
            accountListControler.SetAccounts(personControler.GetAccounts());
            if (accountListControler.AccountsEmpty())
            {
                AddAccount();
            }

            var title = "Manage Accounts " + personControler.GetUserName();

            string[] optionList =
            {
                "Add Account",
                "List Accounts"
            };
            string option = MenuDefaults.ListScreen(title, "Option", optionList, () => ManageAccounts());

            switch (option)
            {
            case "1": AddAccount(); break;

            case "2": ListAccounts(); break;

            case MenuStructure.Back: break;

            default: ManageAccounts(); break;
            }
        }
        public void AccountTransactions()
        {
            if (accountListControler.AccountsEmpty())
            {
                return;
            }

            var title = "Account Transactions " + accountControler.GetAccountName();

            string[] optionList =
            {
                "Delete Account",
                "Account Infos"
            };
            string option = MenuDefaults.ListScreen(title, "Option", optionList, () => AccountTransactions());

            switch (option)
            {
            case "1": DeleteAccount(); break;

            case "2": ShowAccount(); break;

            case MenuStructure.Back: break;

            default: AccountTransactions(); break;
            }
        }
        private void ListAccounts()
        {
            if (accountListControler.AccountsEmpty())
            {
                ManageAccounts();
            }

            var title = "Accounts List " + personControler.GetUserName();

            string[] AccountList = accountListControler.GetList();
            string   account     = MenuDefaults.ListScreen(title, "Option", AccountList, () => ListAccounts());

            switch (account)
            {
            case MenuStructure.Back: ManageAccounts(); break;

            default: ManageSingleAccount(account); break;
            }
        }
        private void Wellcome()
        {
            var title = "Wellcome " + personControler.GetUserName();

            string[] optionList =
            {
                "Manage Profile",
                "Manage Accounts"
            };
            string option = MenuDefaults.ListScreen(title, "Option", optionList, () => Wellcome());

            switch (option)
            {
            case "1": ManageProfile(); break;

            case "2": ManageAccounts(); break;

            case MenuStructure.Back: Show(); break;

            default: Wellcome(); break;
            }
        }
        public void ManageProfile()
        {
            var title = "Manage Profile " + personControler.GetUserName();

            string[] optionList =
            {
                "Change Name",
                "Delete User"
            };
            string option = MenuDefaults.ListScreen(title, "Option", optionList, () => ManageProfile());

            switch (option)
            {
            case "1": ChangeName(); break;

            case "2": DeleteUser(); break;

            case MenuStructure.Back: break;

            default: ManageProfile(); break;
            }
        }