-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNewConnection.cs
More file actions
121 lines (104 loc) · 4.07 KB
/
NewConnection.cs
File metadata and controls
121 lines (104 loc) · 4.07 KB
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
109
110
111
112
113
114
115
116
117
118
119
120
121
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ConnectionStringManager
{
public partial class NewConnection : Form, IGenericView
{
public List<ConnectionStringEntry> NewConnections { get; private set; }
public NewConnection()
{
InitializeComponent();
NewConnections = new List<ConnectionStringEntry>();
SavedConnections = new List<SavedConnection>();
}
public event ConnectionAction TestConnection;
private List<ConnectionStringEntry> _connectionStrings;
public IList<ConnectionStringEntry> ConnectionStrings
{
get { return _connectionStrings; }
set { _connectionStrings = value.ToList(); RefreshView(); }
}
private List<SavedConnection> _savedConnections;
public IList<SavedConnection> SavedConnections
{
get { return _savedConnections; }
set { _savedConnections = value.ToList(); PopulateSavedConnectionsList(); }
}
public void RefreshView()
{
PopulateConfigList();
PopulateSavedConnectionsList();
}
private void PopulateConfigList()
{
chkLstConfigs.Items.Clear();
List<ConnectionStringEntry> unique = _connectionStrings.Distinct<ConnectionStringEntry>(new ConnectionStringEntryComparer()).ToList();
foreach (ConnectionStringEntry conn in unique )
{
chkLstConfigs.Items.Add(conn, false);
}
}
private void PopulateSavedConnectionsList()
{
chkLstSavedConnections.Items.Clear();
foreach (SavedConnection conn in _savedConnections)
{
chkLstSavedConnections.Items.Add(conn, false);
}
}
public void SetError(string message)
{
MessageBox.Show(message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
public void SetMessage(string message)
{
MessageBox.Show(message, "Info", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void tsTestConnection_Click(object sender, EventArgs e)
{
if (this.TestConnection != null)
{
this.TestConnection(new ConnectionStringEntry() { ConnectionString = txtConnStr.Text }, true);
}
}
private void tsAddConnection_Click(object sender, EventArgs e)
{
foreach (var itm in chkLstConfigs.CheckedItems)
{
ConnectionStringEntry conn = itm as ConnectionStringEntry;
if (!string.IsNullOrEmpty(txtConnectionName.Text) && !string.IsNullOrEmpty(txtConnStr.Text))
{
NewConnections.Add(new ConnectionStringEntry()
{
ConnectionName = txtConnectionName.Text,
ConnectionString = txtConnStr.Text,
ConfigPath = conn.ConfigPath,
ConfigFile = conn.ConfigFile,
ProjectName = conn.ProjectName,
ProjectItem = conn.ProjectItem
});
}
foreach (var savedIitm in chkLstSavedConnections.CheckedItems)
{
SavedConnection savedConn = savedIitm as SavedConnection;
NewConnections.Add(new ConnectionStringEntry()
{
ConnectionName = savedConn.Name,
ConnectionString = savedConn.ConnectionString,
ConfigPath = conn.ConfigPath,
ConfigFile = conn.ConfigFile,
ProjectName = conn.ProjectName,
ProjectItem = conn.ProjectItem
});
}
}
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}
}
}