private void btnSave_Click(object sender, EventArgs e) { var entryData = new DatabaseEntryData { Name = lblTitle.Text.Trim(), Url = txtUrl.Text.Trim(), Username = txtUsername.Text.Trim(), Password = _txtPassword.Text, Notes = txtNotes.Text }; if (_newPassword) { entryData.PasswordShared = false; } if (_editEntry) { var success = _databaseView.UpdateEntry(_entryId, entryData); if (!success) { return; } var newButton = new Templates.ButtonDisabled { Text = @"Save", Dock = DockStyle.Right, Width = _btnControl.Width }; panelSaveBtn.Controls.Remove(_btnControl); panelSaveBtn.Controls.Add(newButton); _btnControl = newButton; } else { var newEntryId = _databaseView.NewEntry(entryData, _groupId); if (newEntryId == null) { return; } _entryId = newEntryId.Value; _editEntry = true; var newButton = new Templates.ButtonDisabled { Text = @"Save", Dock = DockStyle.Right, Width = _btnControl.Width }; panelSaveBtn.Controls.Remove(_btnControl); panelSaveBtn.Controls.Add(newButton); _btnControl = newButton; _databaseView.UpdateControl(newEntryId.Value); } tablePasswordContainer.Controls.Remove(_txtPassword); tablePasswordContainer.Controls.Add(_lblPasswordShared); lblDelete.Visible = true; _newPassword = false; }
private void btnSave_Click(object sender, EventArgs e) { var entryData = new DatabaseEntryData { Name = lblTitle.Text.Trim(), Url = txtUrl.Text.Trim(), Username = txtUsername.Text.Trim(), Password = _txtPassword.Text, Notes = txtNotes.Text }; if (_newPassword) entryData.PasswordShared = false; if (_editEntry) { var success = _databaseView.UpdateEntry(_entryId, entryData); if (!success) return; var newButton = new Templates.ButtonDisabled { Text = @"Save", Dock = DockStyle.Right, Width = _btnControl.Width }; panelSaveBtn.Controls.Remove(_btnControl); panelSaveBtn.Controls.Add(newButton); _btnControl = newButton; } else { var newEntryId = _databaseView.NewEntry(entryData, _groupId); if (newEntryId == null) return; _entryId = newEntryId.Value; _editEntry = true; var newButton = new Templates.ButtonDisabled { Text = @"Save", Dock = DockStyle.Right, Width = _btnControl.Width }; panelSaveBtn.Controls.Remove(_btnControl); panelSaveBtn.Controls.Add(newButton); _btnControl = newButton; _databaseView.UpdateControl(newEntryId.Value); } tablePasswordContainer.Controls.Remove(_txtPassword); tablePasswordContainer.Controls.Add(_lblPasswordShared); lblDelete.Visible = true; _newPassword = false; }
public int? NewEntry(DatabaseEntryData entryData, int groupId) { if (groupId == 0) { if (Program.AppEnvDebug) throw new Exception("Group ID cannot be empty"); return null; } if (entryData.GetModifiedProperties().Count == 0) { MessageBox.Show(@"There is no entry information to save"); return null; } var group = Model.DatabasesGroups.Get(groupId); var entryDataId = Model.DatabasesEntriesData.Create(entryData); var newEntryIdentifier = Guid.NewGuid().ToString(); var entryId = Model.DatabasesEntries.Create(new DatabaseEntry { DatabaseId = group.DatabaseId, DatabaseGroupId = groupId, Identifier = newEntryIdentifier, DatabaseEntryDataId = entryDataId }); SetEntryAsModified(entryId); return entryId; }
public bool UpdateEntry(int entryId, DatabaseEntryData entryData) { if (entryId == 0) { if (Program.AppEnvDebug) throw new Exception("Entry ID cannot be empty"); return false; } if (entryData.GetModifiedProperties().Count == 0) return false; var entry = Model.DatabasesEntries.Get(entryId); Model.DatabasesEntriesData.Update(entry.DatabaseEntryDataId, entryData); SetEntryAsModified(entryId); return true; }
private bool ImportDashlane(Stream inputStream) { var websitesGroupId = CreateDatabaseGroup(_activeDatabaseId, "Websites"); using (var parser = new TextFieldParser(inputStream)) { parser.TextFieldType = FieldType.Delimited; parser.SetDelimiters(","); var header = true; while (!parser.EndOfData) { var fields = parser.ReadFields(); if (fields == null) continue; // No header for dashlane var newEntryData = new DatabaseEntryData { Name = !string.IsNullOrEmpty(fields[0]) ? fields[0] : fields[1], Url = fields[1], Username = fields[2] }; if (fields.Length == 5) { newEntryData.Password = fields[3]; newEntryData.Notes = fields[4]; } else if (fields.Length == 6) { // Slow clap for Dashlane... // If the entry contains a secondary login field, the column layout changes. newEntryData.Password = fields[4]; newEntryData.Notes = fields[5]; if (!string.IsNullOrEmpty(fields[3])) newEntryData.Notes = "Secondary login: "******"\r\n\r\n" + newEntryData.Notes; } else { // F**k knows, they've cocked up the CSV format as it is. continue; } var newEntryDataId = Model.DatabasesEntriesData.Create(newEntryData); var newEntryIdentifier = Guid.NewGuid().ToString(); var newEntryId = Model.DatabasesEntries.Create(new DatabaseEntry { Identifier = newEntryIdentifier, DatabaseId = _activeDatabaseId, DatabaseGroupId = websitesGroupId, DatabaseEntryDataId = newEntryDataId }); SetEntryAsModified(newEntryId, false); } } return true; }
public bool UpdateEntry(int entryId, DatabaseEntryData entryData) { return _controller.UpdateEntry(entryId, entryData); }
public int? NewEntry(DatabaseEntryData entryData, int groupId) { return _controller.NewEntry(entryData, groupId); }
public bool UpdateEntry(int entryId, DatabaseEntryData entryData) { return(_controller.UpdateEntry(entryId, entryData)); }
public int?NewEntry(DatabaseEntryData entryData, int groupId) { return(_controller.NewEntry(entryData, groupId)); }