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; } }
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(); } }
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(); } } }
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); }