Mercurial > postarc > postarc
annotate Postarc/Postarc/GUI/FormConnectionProperties.cs @ 0:1aca3d413885 tip
Initial import of Postarc
author | Christian Lins <christian.lins@intevation.de> |
---|---|
date | Fri, 05 Oct 2012 23:55:06 +0200 |
parents | |
children |
rev | line source |
---|---|
0
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
1 /* |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
2 * Postarc |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
3 * |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
4 * Author: |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
5 * Christian Lins <christian.lins@intevation.de> |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
6 * |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
7 * Copyright: |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
8 * Copyright (C) 2012 Intevation GmbH <http://www.intevation.de/> |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
9 * |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
10 * This program is free software: you can redistribute it and/or modify |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
11 * it under the terms of the GNU Lesser General Public License as published by |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
12 * the Free Software Foundation, either version 3 of the License, or |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
13 * (at your option) any later version. |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
14 * |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
15 * This program is distributed in the hope that it will be useful, |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
18 * GNU General Public License for more details. |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
19 * |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
20 * You should have received a copy of the GNU Lesser General Public License |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
21 * along with this program. If not, see <http://www.gnu.org/licenses/>. |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
22 */ |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
23 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
24 using System; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
25 using System.Collections.Generic; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
26 using System.ComponentModel; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
27 using System.Data; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
28 using System.Drawing; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
29 using System.IO; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
30 using System.Linq; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
31 using System.Runtime.Serialization.Formatters.Binary; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
32 using System.Text; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
33 using System.Windows.Forms; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
34 using Npgsql; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
35 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
36 namespace Postarc.GUI |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
37 { |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
38 public partial class FormConnectionProperties : Form |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
39 { |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
40 private PostGISConnection conn; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
41 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
42 public FormConnectionProperties(PostGISConnection conn) |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
43 { |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
44 InitializeComponent(); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
45 this.conn = conn; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
46 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
47 this.txtConnectionName.Text = conn.Name; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
48 this.txtHost.Text = conn.Host; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
49 this.txtUser.Text = conn.User; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
50 this.txtPassword.Text = conn.Password; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
51 this.cmbDbNames.SelectedItem = conn.Database; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
52 this.numPort.Value = conn.Port; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
53 } |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
54 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
55 private void groupBoxAuthentication_Enter(object sender, EventArgs e) |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
56 { |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
57 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
58 } |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
59 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
60 private void btnSave_Click(object sender, EventArgs e) |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
61 { |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
62 UpdateConnectionObject(); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
63 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
64 // Write to application data |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
65 Directory.CreateDirectory(Application.UserAppDataPath + "\\postarc\\"); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
66 FileStream fs = new FileStream( |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
67 Application.UserAppDataPath + "\\postarc\\" + txtConnectionName.Text + ".connprof", |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
68 FileMode.OpenOrCreate); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
69 BinaryFormatter formatter = new BinaryFormatter(); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
70 formatter.Serialize(fs, this.conn); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
71 fs.Close(); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
72 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
73 MessageBox.Show( |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
74 "Connection profile saved!", "Save success", |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
75 MessageBoxButtons.OK, MessageBoxIcon.Information); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
76 } |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
77 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
78 private void btnTestConnection_Click(object sender, EventArgs e) |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
79 { |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
80 UpdateConnectionObject(); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
81 try |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
82 { |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
83 NpgsqlConnection conn = this.conn.Open(); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
84 conn.Close(); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
85 } |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
86 catch (Exception ex) |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
87 { |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
88 MessageBox.Show(ex.Message); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
89 return; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
90 } |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
91 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
92 MessageBox.Show("Connection succeeded."); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
93 } |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
94 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
95 private void UpdateConnectionObject() |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
96 { |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
97 this.conn.Database = this.cmbDbNames.SelectedValue != null ? this.cmbDbNames.SelectedValue.ToString() : ""; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
98 this.conn.Host = this.txtHost.Text; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
99 this.conn.Name = this.txtConnectionName.Text; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
100 this.conn.Password = this.txtPassword.Text; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
101 this.conn.Port = Convert.ToInt16(this.numPort.Value); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
102 this.conn.User = this.txtUser.Text; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
103 } |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
104 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
105 private void btnCancel_Click(object sender, EventArgs e) |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
106 { |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
107 Close(); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
108 } |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
109 } |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
110 } |