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 UpdateName(string newName)
 {
     if (MenuDefaults.AreYouSureScreen("Change Name", () => UpdateName(newName)))
     {
         personControler.UpdateName(newName);
     }
     ManageProfile();
 }
        private void DeleteAccount()
        {
            if (MenuDefaults.AreYouSureScreen("Delete Account", () => DeleteAccount()))
            {
                accountListControler.DeleteAccount(personControler.GetId(), AccountId);
            }

            AccountTransactions();
        }
 private void InsertAccount(SAccount sAccount)
 {
     if (accountListControler.VerifyExistingAccount(sAccount.Name))
     {
         MenuDefaults.Message("You already have an account " + sAccount.Name);
         AddAccount();
         return;
     }
     accountListControler.InsertAccount(personControler.GetId(), sAccount);
     ManageAccounts();
 }
 private void DeleteUser()
 {
     if (MenuDefaults.AreYouSureScreen("Delete User", () => DeleteUser()))
     {
         personControler.DeleteUser();
     }
     else
     {
         ManageProfile();
     }
 }
        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;
            }
        }