public Account AddAccount(string username, EditAccountViewModel vm)
        {
            var account = new Account
            {
                Name = vm.Name,
                Amount = vm.Amount,
                UserName = username,
                InitialAmount = vm.Amount
            };

            FinancialPlannerRepository.AddAccount(account);
            FinancialPlannerRepository.Save();

            return account;
        }
        public EditAccountViewModel MapEditAccountViewModel(int id)
        {
            var account = FinancialPlannerRepository.GetAccounts()
                    .FirstOrDefault(m => m.Id == id);

            if (account == null)
                return null;

            var vm = new EditAccountViewModel
            {
                Id = account.Id,
                Name = account.Name,
                Amount = account.Amount,
                UserName = account.UserName
            };

            return vm;
        }
        public bool EditAccount(EditAccountViewModel vm, string username)
        {
            var account = FinancialPlannerRepository.GetAccounts().FirstOrDefault(m => m.Id == vm.Id);

            if (account == null)
                return false;

            account.InitialAmount = account.InitialAmount + (vm.Amount - account.Amount);
            account.Name = vm.Name;
            account.Amount = vm.Amount;
            account.UserName = username;

            FinancialPlannerRepository.EditAccount(account);
            FinancialPlannerRepository.Save();

            AdjustTransactionBalances(account);

            return true;
        }