-
Notifications
You must be signed in to change notification settings - Fork 0
/
Vault.cs
108 lines (93 loc) · 3.7 KB
/
Vault.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
using SmartKeys.Helper;
using SmartKeys.Models;
namespace SmartKeys
{
public partial class Vault : Form
{
private readonly string filePath = "";
private readonly KeyVault vault = new KeyVault();
private readonly string password = "";
public Vault(KeyVault vault, string filePath, string password)
{
InitializeComponent();
this.vault = vault;
this.filePath = filePath;
RefreshList(vault.Entrys);
this.password = password;
}
private void btn_createEntry_Click(object sender, EventArgs e)
{
CreateEditEntry createEditEntry = new CreateEditEntry();
DialogResult result = createEditEntry.ShowDialog();
if (result == DialogResult.OK)
{
DefaultEntry entry = new DefaultEntry
{
Id = Guid.NewGuid(),
Title = createEditEntry.Title,
Username = createEditEntry.Username,
Password = createEditEntry.Password,
Description = createEditEntry.Description
};
createEditEntry.Close();
createEditEntry.Dispose();
var newEntry = KVHandler.AddEntry(filePath, entry, password);
vault.Entrys.Add(newEntry);
RefreshList(vault.Entrys);
}
}
private void btn_deleteEntry_Click(object sender, EventArgs e)
{
int selectedIndex = lB_entryListBox.SelectedIndex;
if (selectedIndex >= 0 && selectedIndex < vault.Entrys.Count)
{
DefaultEntry selectedEntry = vault.Entrys[selectedIndex];
if (selectedEntry != null)
{
KVHandler.RemoveEntry(filePath, selectedEntry.Id, password);
vault.Entrys.Remove(selectedEntry);
RefreshList(vault.Entrys);
}
}
}
private void Vault_FormClosed(object sender, FormClosedEventArgs e)
{
Environment.Exit(0);
}
private void Vault_Load(object sender, EventArgs e)
{
CreateEditEntry createEditEntry = new CreateEditEntry();
createEditEntry.TopLevel = false;
pan_form.Controls.Add(createEditEntry);
createEditEntry.FormBorderStyle = FormBorderStyle.None;
createEditEntry.Dock = DockStyle.Fill;
createEditEntry.Show();
}
private void lB_entryListBox_SelectedIndexChanged(object sender, EventArgs e)
{
pan_form.Controls.Clear();
int selectedIndex = lB_entryListBox.SelectedIndex;
if (selectedIndex >= 0 && selectedIndex < vault.Entrys.Count)
{
DefaultEntry selectedEntry = vault.Entrys[selectedIndex];
if (selectedEntry != null)
{
CreateEditEntry createEditEntry = new CreateEditEntry(selectedEntry.Id, selectedEntry.Password, selectedEntry.Description, selectedEntry.Username, selectedEntry.Title);
createEditEntry.TopLevel = false;
pan_form.Controls.Add(createEditEntry);
createEditEntry.FormBorderStyle = FormBorderStyle.None;
createEditEntry.Dock = DockStyle.Fill;
createEditEntry.Show();
}
}
}
private void RefreshList(List<DefaultEntry> entries)
{
lB_entryListBox.Items.Clear();
foreach (var entry in entries)
{
lB_entryListBox.Items.Add(entry.Title);
}
}
}
}