Esempio n. 1
0
        private void saveToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (_isNew)
            {
                if (!string.IsNullOrWhiteSpace(_fileName) && !string.IsNullOrWhiteSpace(_password))
                {
                    SaveAccountCollection();
                    _isDirty = false;
                    return;
                }

                _fileName = null;
                _password = null;
                FileDialogResult <string> fileResult = DialogUtility.ShowSaveFileDialog(this, FILE_FILTER, _initialFileDialogDirectory);
                if (fileResult.Result == DialogResult.OK && fileResult.ResultObject != null)
                {
                    _fileName = fileResult.ResultObject;
                    FormDialogResult <string> passwordResult = DialogUtility.ShowPasswordDialog(this);
                    if (passwordResult.Result == DialogResult.OK && passwordResult.ResultObject != null)
                    {
                        _password = passwordResult.ResultObject;
                        SaveAccountCollection();
                        _isDirty = false;
                    }
                }
            }
            else
            {
                SaveAccountCollection();
                _isDirty = false;
            }
        }
Esempio n. 2
0
        private void btnAdd_Click(object sender, EventArgs e)
        {
            FormDialogResult <Account> result = DialogUtility.ShowAccountDialog(this, _accountCollection, "Add Account", "Add", true);

            if (result.Result == DialogResult.OK && result.ResultObject != null)
            {
                _accountCollection.Add(result.ResultObject);
                UpdateFileChangedStatus(true);
                SetListDataSource();
            }
        }
Esempio n. 3
0
        private void btnEdit_Click(object sender, EventArgs e)
        {
            int selectedIndex = lstAccounts.SelectedIndex;

            if (selectedIndex > -1)
            {
                Account selectedAccount           = GetAccountFromIndex(selectedIndex);
                FormDialogResult <Account> result = DialogUtility.ShowAccountDialog(this, _accountCollection, "Edit Account", "Edit", false, selectedAccount);
                if (result.Result == DialogResult.OK && result.ResultObject != null)
                {
                    UpdateExistingAccount(result.ResultObject);
                    UpdateFileChangedStatus(true);
                    SetListDataSource();
                }
            }
        }
Esempio n. 4
0
        private AccountCollection OpenAccountCollection()
        {
            AccountCollection collection = null;

            FileDialogResult <string> fileResult = DialogUtility.ShowOpenFileDialog(this, FILE_FILTER, _initialFileDialogDirectory);

            if (fileResult.Result != DialogResult.OK && fileResult.ResultObject == null)
            {
                return(null);
            }
            _fileName = fileResult.ResultObject;

            FormDialogResult <string> passwordResult = DialogUtility.ShowPasswordDialog(this);

            if (passwordResult.Result != DialogResult.OK && passwordResult.ResultObject == null)
            {
                return(null);
            }
            _password = passwordResult.ResultObject;

            IFactory factory = FormFactory.GetFactory(_password, _appSettings.Value.IV, _appSettings.Value.Salt);
            IStorage storage = factory.GetStorage();

            ActionList actionList = factory.GetActionList();

            try
            {
                string serialized = storage.RetrieveData(_fileName);
                collection = actionList.ReverseActions <AccountCollection>(serialized);
            }
            catch (DeserializationException)
            {
                DialogUtility.ShowErrorMessageBox(this, "Error", "Incorrect password.");
            }

            return(collection);
        }