private bool TryOpenConnection(string fileName, string pwd) { _db = new CredManagerDb(fileName, pwd); bool result = _db.TryOpenConnection(out string errorMessage); if (!result) { MessageBox.Show(errorMessage); } return(result); }
private void InitEntryAutoComplete(CredManagerDb db) { using (var cn = db.GetConnection()) { var items = cn.Query <string>("SELECT [Name] FROM [Entry] WHERE [IsActive]=1 ORDER BY [Name]").ToArray(); var autoComplete = new AutoCompleteStringCollection(); autoComplete.AddRange(items); tbSearchEntryName.AutoCompleteMode = AutoCompleteMode.SuggestAppend; tbSearchEntryName.AutoCompleteCustomSource = autoComplete; tbSearchEntryName.AutoCompleteSource = AutoCompleteSource.CustomSource; } }
private async void OpenToolStripMenuItem_Click(object sender, EventArgs e) { try { await PromptOpenDatabaseAsync(async (db) => { Database = db; _settings.DatabaseFile = db.Filename; _settings.Save(); await BindDataGridAsync(); }); } catch (Exception exc) { MessageBox.Show(exc.Message); } }
private async void FrmMain_Load(object sender, EventArgs e) { try { _settings = JsonSettingsBase.Load <Settings>(); if (_settings.Recent == null) { _settings.Recent = new HashSet <string>(); } _settings.FormPosition?.Apply(this); FillRecentItems(); cbFilterActive.Fill(new Dictionary <bool, string>() { { true, "Active" }, { false, "Inactive" } }); cbFilterActive.SetValue(true); if (File.Exists(_settings.DatabaseFile)) { Database = PromptOpenDatabasePwd(_settings.DatabaseFile, out bool getSinglePwd, out string entryName); if (getSinglePwd) { CopyPasswordToClipboard(entryName); Application.Exit(); return; } } else { Database = PromptCreateDatabase(); } await BindDataGridAsync(); } catch (Exception exc) { MessageBox.Show(exc.Message); } }
private CredManagerDb PromptCreateDatabase() { string databaseFile; string pwd; string hint; if (frmCreateDb.Prompt(out databaseFile, out pwd, out hint)) { var db = new CredManagerDb(databaseFile, pwd); using (var cn = db.GetConnection()) { _settings.DatabaseFile = databaseFile; _settings.PasswordHint = hint; _settings.Save(); } return(db); } return(null); }
private void chkGetOnePwd_CheckedChanged(object sender, EventArgs e) { try { if (chkGetOnePwd.Checked && File.Exists(Filename)) { var db = new CredManagerDb(Filename, tbPassword.Text); var validPwd = db.TryOpenConnection(out _); if (validPwd) { InitEntryAutoComplete(db); } btnOK.Enabled = validPwd; } tbSearchEntryName.Enabled = chkGetOnePwd.Checked; } catch (Exception exc) { MessageBox.Show(exc.Message); } }
private void NewToolStripMenuItem_Click(object sender, EventArgs e) { Database = PromptCreateDatabase(); }