Subversion Repository Public Repository

WilksMergeModule

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
122
123
124
125
126
127
128
using System;
using System.Data;
using System.Linq;
using System.Data.SQLite;
using System.Windows.Forms;

namespace WilksMergeModule
{
    public struct SettingDbKey
    {
        public int SettingCategoryId { get; }
        public string CategoryName { get; }
        public int SettingId { get; }
        public string SettingName { get; }
        public string SettingValue { get; }

        public SettingDbKey(int settingCategoryId, string categoryName, int settingId, string settingName, string settingValue)
        {
            SettingCategoryId = settingCategoryId;
            CategoryName = categoryName;
            SettingId = settingId;
            SettingName = settingName;
            SettingValue = settingValue;
        }
    }

    public partial class FormSettings : Form
    {
        public DataTable Settings { get; set; }

        public FormSettings()
        {
            InitializeComponent();
        }

        private void formSettings_Load(object sender, EventArgs e)
        {

            LoadSettings();
        }

        private void LoadSettings()
        {
            SQLiteConnection connection = new SQLiteConnection(
                String.Format(
                    "Data Source={0}\\{1};Version=3;",
                    new object[]
                    {
                        AppDomain.CurrentDomain.BaseDirectory,
                        "WilksMergeModule.db"
                    }
                )
            );
            connection.Open();
            DataSet dataSetSettings = new DataSet("Settings");
            SQLiteDataAdapter dataAdapterSettings = new SQLiteDataAdapter("SELECT SC.Id AS [SettingCategoryId], SC.Name AS [CategoryName], S.Id AS [SettingId], S.Name AS [SettingName], S.Value AS [SettingValue] FROM Setting S INNER JOIN SettingCategory SC ON S.SettingCategoryId = SC.Id;", connection);
            dataAdapterSettings.Fill(dataSetSettings);
            dataAdapterSettings.Dispose();
            connection.Close();
            connection.Dispose();
            Settings = dataSetSettings.Tables[0];
            dataSetSettings.Dispose();

            textboxLaserficeSettingsServer.Tag = (from s in Settings.AsEnumerable() where s.Field<String>("CategoryName") == "Laserfiche" && s.Field<String>("SettingName") == "Server" select new SettingDbKey(Int32.Parse(s["SettingCategoryId"].ToString()), s["CategoryName"].ToString(), Int32.Parse(s["SettingId"].ToString()), s["SettingName"].ToString(), s["SettingValue"].ToString())).SingleOrDefault();
            textboxLaserficeSettingsRepository.Tag = (from s in Settings.AsEnumerable() where s.Field<String>("CategoryName") == "Laserfiche" && s.Field<String>("SettingName") == "Repository" select new SettingDbKey(Int32.Parse(s["SettingCategoryId"].ToString()), s["CategoryName"].ToString(), Int32.Parse(s["SettingId"].ToString()), s["SettingName"].ToString(), s["SettingValue"].ToString())).SingleOrDefault();
            textboxLaserficeSettingsUsername.Tag = (from s in Settings.AsEnumerable() where s.Field<String>("CategoryName") == "Laserfiche" && s.Field<String>("SettingName") == "User Name" select new SettingDbKey(Int32.Parse(s["SettingCategoryId"].ToString()), s["CategoryName"].ToString(), Int32.Parse(s["SettingId"].ToString()), s["SettingName"].ToString(), s["SettingValue"].ToString())).SingleOrDefault();
            textboxLaserficeSettingsPassword.Tag = (from s in Settings.AsEnumerable() where s.Field<String>("CategoryName") == "Laserfiche" && s.Field<String>("SettingName") == "Password" select new SettingDbKey(Int32.Parse(s["SettingCategoryId"].ToString()), s["CategoryName"].ToString(), Int32.Parse(s["SettingId"].ToString()), s["SettingName"].ToString(), s["SettingValue"].ToString())).SingleOrDefault();
            textboxLaserficeSettingsSearchCommand.Tag = (from s in Settings.AsEnumerable() where s.Field<String>("CategoryName") == "Laserfiche" && s.Field<String>("SettingName") == "Search Command" select new SettingDbKey(Int32.Parse(s["SettingCategoryId"].ToString()), s["CategoryName"].ToString(), Int32.Parse(s["SettingId"].ToString()), s["SettingName"].ToString(), s["SettingValue"].ToString())).SingleOrDefault();
            textboxLaserficeSettingsInvoiceCommand.Tag = (from s in Settings.AsEnumerable() where s.Field<String>("CategoryName") == "Laserfiche" && s.Field<String>("SettingName") == "Invoice Command" select new SettingDbKey(Int32.Parse(s["SettingCategoryId"].ToString()), s["CategoryName"].ToString(), Int32.Parse(s["SettingId"].ToString()), s["SettingName"].ToString(), s["SettingValue"].ToString())).SingleOrDefault();

            textboxSynergySettingsConnectionString.Tag = (from s in Settings.AsEnumerable() where s.Field<String>("CategoryName") == "Synergy" && s.Field<String>("SettingName") == "Connection String" select new SettingDbKey(Int32.Parse(s["SettingCategoryId"].ToString()), s["CategoryName"].ToString(), Int32.Parse(s["SettingId"].ToString()), s["SettingName"].ToString(), s["SettingValue"].ToString())).SingleOrDefault();
            textboxSynergySettingsConnectionQuery.Tag = (from s in Settings.AsEnumerable() where s.Field<String>("CategoryName") == "Synergy" && s.Field<String>("SettingName") == "Query" select new SettingDbKey(Int32.Parse(s["SettingCategoryId"].ToString()), s["CategoryName"].ToString(), Int32.Parse(s["SettingId"].ToString()), s["SettingName"].ToString(), s["SettingValue"].ToString())).SingleOrDefault();


            textboxLaserficeSettingsServer.Text = ((SettingDbKey)textboxLaserficeSettingsServer.Tag).SettingValue;
            textboxLaserficeSettingsRepository.Text = ((SettingDbKey)textboxLaserficeSettingsRepository.Tag).SettingValue;
            textboxLaserficeSettingsUsername.Text = ((SettingDbKey)textboxLaserficeSettingsUsername.Tag).SettingValue;
            textboxLaserficeSettingsPassword.Text = ((SettingDbKey)textboxLaserficeSettingsPassword.Tag).SettingValue;
            textboxLaserficeSettingsSearchCommand.Text = ((SettingDbKey)textboxLaserficeSettingsSearchCommand.Tag).SettingValue;
            textboxLaserficeSettingsInvoiceCommand.Text = ((SettingDbKey)textboxLaserficeSettingsInvoiceCommand.Tag).SettingValue;

            textboxSynergySettingsConnectionString.Text = ((SettingDbKey)textboxSynergySettingsConnectionString.Tag).SettingValue;
            textboxSynergySettingsConnectionQuery.Text = ((SettingDbKey)textboxSynergySettingsConnectionQuery.Tag).SettingValue;
        }

        private void buttonCancel_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void buttonSave_Click(object sender, EventArgs e)
        {
            SQLiteConnection connection = new SQLiteConnection(
                String.Format(
                    "Data Source={0}\\{1};Version=3;",
                    new object[]
                    {
                        AppDomain.CurrentDomain.BaseDirectory,
                        "WilksMergeModule.db"
                    }
                )
            );
            connection.Open();
            SQLiteCommand command = new SQLiteCommand("Update Setting SET Value = @Value WHERE Id = @Id AND Name = @Name AND SettingCategoryId = @SettingCategoryId", connection);
            command.CommandType = CommandType.Text;
            foreach (Control control in this.Controls)
            {
                if (control.GetType() == typeof(TextBox))
                {
                    if (control.Tag.GetType() == typeof(SettingDbKey))
                    {
                        SettingDbKey settingsDbKey = (SettingDbKey)control.Tag;
                        command.Parameters.Clear();
                        command.Parameters.AddWithValue("@Value", ((TextBox)control).Text.Trim());
                        command.Parameters.AddWithValue("@Id", settingsDbKey.SettingId);
                        command.Parameters.AddWithValue("@Name", settingsDbKey.SettingName);
                        command.Parameters.AddWithValue("@SettingCategoryId", settingsDbKey.SettingCategoryId);
                        command.ExecuteNonQuery();
                    }
                }
            }
            command.Dispose();
            connection.Close();
            connection.Dispose();
            LoadSettings();
        }
    }
}

Commits for WilksMergeModule/WilksMergeModule/FormSettings.cs

Diff revisions: vs.
Revision Author Commited Message
1 BBDSCHRIS picture BBDSCHRIS Thu 09 Aug, 2018 12:57:17 +0000