From 59725feeecd1c0b97e4c6d85f560c1ae892a4471 Mon Sep 17 00:00:00 2001 From: Admin Date: Mon, 7 Dec 2020 15:56:42 -0600 Subject: [PATCH] Finalized the NamingConventionManager form, it can now insert/update and delete NamingConventions. --- .vs/DataOrganizer/v16/.suo | Bin 139776 -> 139776 bytes DataOrganizer/DB.cs | 46 +++++++++++++++-- .../NamingConventionManager.Designer.cs | 14 ++--- DataOrganizer/NamingConventionManager.cs | 48 ++++++++++++++---- 4 files changed, 88 insertions(+), 20 deletions(-) diff --git a/.vs/DataOrganizer/v16/.suo b/.vs/DataOrganizer/v16/.suo index bc8617d5568df79348593d1d0b26d5110e08d9b0..48995581fe3dc2dc2a4fe259f8a5adcc776eba5c 100644 GIT binary patch delta 1462 zcmZoT!qISqV}gMq0}Kc-Fz_%iFfcJNF#P-f|365Wk%56BYh$1^6X$_2-DQu@Tw~PO zT*|bV(NT$kfk6hU@c;k+|5X?m82A_%7+4q>7`Pc27{nMD7&sUh7!nv57=#!Y7~&Wh z7(nV^SYfgvr}*Ro76C;ys6EOI3=HxN3=C{gm0VC-XYxXpX4Xgs1_tlRnyluYAg4t! zFfc?jFfhb0Ffhb2Ffa%*Ffhb3Ffa%(Ffb%CFfgP*^@40mWnf@Phw`^T>A(N~|NlEN zF?c zi(;52FHfl7T%XX$xG0WkvPPQDWQR17%?@b?7&k>pFpB#bd96CK=wZyOrP@wN25r`l zzQ{Bw!;aBqvVDdqGXq1(I?*I+DjpcR^eT+UBUtn8eeQ0l(< zZ{0&y!G2Jh1FKOxu$+;BL1}yAU&b|zo9A{VGj5&0RKPenZ}TixTLumWwaFU`jhPu3 z7$!Ft*|JBR2c;N>$u|o%Cx0jsn0%l|LmXs`HG@3^14A`~F@r0E5rZLvBZKkg|673x$40MuZyv?S6rb z%#4!_`yDnr%saq3JuryTXR>?EbH?Dw2U{&B@2Ztz)SBE_JB>idP5xV_!WaYA5>>AZ z)-qu;Z^K0vqC#`_Ff76LMjMEDgm;@#_To7Rgl{}#6oPEJ^)3G_s zSS18@OB&e4sqD>rmT~g`?#X-YCp-2VY(8*GhH>(x$trLoE?%&dMpv24P|U!+#7%0uenb6$-fq@}vvL>tf zDa{e#emhDfq{X2^G_>w_Q@`s zE)xqnShg@QFl@eX&46){3)3PerbTWni+q?Cc`+>tU|QtIv?zpaQ<4ND=j;s&DG5G$X6sARSOp9Weuu5&pv14NNn{1yZI+<;e0%rjO0|O5O14F^&+B8$%M1~TE zL&M+x6e6m1><~9$; z3MO_}1|tST2FJ<&i?2`aExowi%a75FY5KWOjQcmwsioWYnum%)I+jll`z?#=&u7}+Of zJg0_-QWz&2_B(8Ln0J76vf~Wd&9YU$m{Gjg&cMJBMvND8nOQ+zNT2LDNp|w8ZZWXm z4tLwKL;W^cT*VUXD?^4;&&tYLo zVVowyWH9}aCZo#aMGLK__pvguZFV>k!$`I%4wnQb3-%{$FJNJsz&PDOfyrRA!KDk# Q+iDp5vbOg*Fcv)o07(>K9RL6T diff --git a/DataOrganizer/DB.cs b/DataOrganizer/DB.cs index 82c8595..9339ea3 100644 --- a/DataOrganizer/DB.cs +++ b/DataOrganizer/DB.cs @@ -376,9 +376,48 @@ namespace DataOrganizer } } + public void InsertNamingConvention(string name, string regex, string exampleText) + { + var query = @"INSERT INTO main.naming_pattern (name, regex, example_text) VALUES (@Name, @Regex, @Example)"; + + using(var connection = new SqliteConnection(ConnectionString)) + { + using(var command = new SqliteCommand(query, connection)) + { + command.Parameters.AddWithValue("Name", name); + command.Parameters.AddWithValue("Regex", regex); + command.Parameters.AddWithValue("Example", exampleText); + + connection.Open(); + + command.ExecuteNonQuery(); + } + } + } + + public void UpdateNamingConvention(int id, string name, string regex, string exampleText) + { + var query = @"UPDATE main.naming_pattern SET name = @Name, regex = @Regex, example_text = @Example WHERE pattern_id = @ID"; + + using (var connection = new SqliteConnection(ConnectionString)) + { + using (var command = new SqliteCommand(query, connection)) + { + command.Parameters.AddWithValue("ID", id); + command.Parameters.AddWithValue("Name", name); + command.Parameters.AddWithValue("Regex", regex); + command.Parameters.AddWithValue("Example", exampleText); + + connection.Open(); + + command.ExecuteNonQuery(); + } + } + } + public void DeleteNamingConvention(int id) { - var query = @"UPDATE main.file SET pattern_override_id = 0 WHERE pattern_override_id = @ID";//@"DELETE FROM main.naming_pattern WHERE pattern_id = @Id"; + var query = $"UPDATE main.file SET pattern_override_id = 0 WHERE pattern_override_id = {id}"; using (var connection = new SqliteConnection(ConnectionString)) { @@ -387,13 +426,12 @@ namespace DataOrganizer { using (var command = new SqliteCommand(query, connection, transaction)) { - command.Parameters.AddWithValue("ID", id); command.ExecuteNonQuery(); - query = @"UPDATE main.folder_root SET pattern_id = 0 WHERE pattern_id = @ID"; + command.CommandText = $"UPDATE main.folder_root SET pattern_id = 0 WHERE pattern_id = {id}"; command.ExecuteNonQuery(); - query = @"DELETE FROM main.naming_pattern WHERE pattern_id = @ID"; + command.CommandText = $"DELETE FROM main.naming_pattern WHERE pattern_id = {id}"; command.ExecuteNonQuery(); } diff --git a/DataOrganizer/NamingConventionManager.Designer.cs b/DataOrganizer/NamingConventionManager.Designer.cs index 585a965..13326cc 100644 --- a/DataOrganizer/NamingConventionManager.Designer.cs +++ b/DataOrganizer/NamingConventionManager.Designer.cs @@ -136,7 +136,7 @@ this.NameTextBox.Location = new System.Drawing.Point(13, 134); this.NameTextBox.Name = "NameTextBox"; this.NameTextBox.Size = new System.Drawing.Size(182, 26); - this.NameTextBox.TabIndex = 5; + this.NameTextBox.TabIndex = 2; // // label4 // @@ -152,7 +152,7 @@ this.ExampleTextBox.Location = new System.Drawing.Point(13, 336); this.ExampleTextBox.Name = "ExampleTextBox"; this.ExampleTextBox.Size = new System.Drawing.Size(357, 26); - this.ExampleTextBox.TabIndex = 7; + this.ExampleTextBox.TabIndex = 6; // // AddUpdateButton // @@ -160,9 +160,10 @@ this.AddUpdateButton.Location = new System.Drawing.Point(612, 388); this.AddUpdateButton.Name = "AddUpdateButton"; this.AddUpdateButton.Size = new System.Drawing.Size(173, 47); - this.AddUpdateButton.TabIndex = 8; + this.AddUpdateButton.TabIndex = 7; this.AddUpdateButton.Text = "Insert New Pattern"; this.AddUpdateButton.UseVisualStyleBackColor = true; + this.AddUpdateButton.Click += new System.EventHandler(this.AddUpdateButton_Click); // // PatternIdLabel // @@ -179,7 +180,7 @@ this.DeleteButton.Location = new System.Drawing.Point(13, 388); this.DeleteButton.Name = "DeleteButton"; this.DeleteButton.Size = new System.Drawing.Size(107, 47); - this.DeleteButton.TabIndex = 10; + this.DeleteButton.TabIndex = 8; this.DeleteButton.Text = "Delete"; this.DeleteButton.UseVisualStyleBackColor = true; this.DeleteButton.Click += new System.EventHandler(this.DeleteButton_Click); @@ -192,6 +193,7 @@ this.RegexResultsTextBox.ReadOnly = true; this.RegexResultsTextBox.Size = new System.Drawing.Size(565, 181); this.RegexResultsTextBox.TabIndex = 11; + this.RegexResultsTextBox.TabStop = false; // // label5 // @@ -207,14 +209,14 @@ this.RegexTestTextBox.Location = new System.Drawing.Point(505, 303); this.RegexTestTextBox.Name = "RegexTestTextBox"; this.RegexTestTextBox.Size = new System.Drawing.Size(280, 26); - this.RegexTestTextBox.TabIndex = 13; + this.RegexTestTextBox.TabIndex = 4; // // TestRegexButton // this.TestRegexButton.Location = new System.Drawing.Point(681, 335); this.TestRegexButton.Name = "TestRegexButton"; this.TestRegexButton.Size = new System.Drawing.Size(104, 37); - this.TestRegexButton.TabIndex = 14; + this.TestRegexButton.TabIndex = 5; this.TestRegexButton.Text = "Test"; this.TestRegexButton.UseVisualStyleBackColor = true; this.TestRegexButton.Click += new System.EventHandler(this.TestRegexButton_Click); diff --git a/DataOrganizer/NamingConventionManager.cs b/DataOrganizer/NamingConventionManager.cs index 1a0fce7..c138661 100644 --- a/DataOrganizer/NamingConventionManager.cs +++ b/DataOrganizer/NamingConventionManager.cs @@ -12,16 +12,8 @@ namespace DataOrganizer { InitializeComponent(); - var db = new DB(); - NamingConventionPatternsComboBox.Items.Add("Add New Pattern"); - NamingConventionPatternsComboBox.SelectedIndex = 0; + RefreshNamingConventions(); - foreach(var pattern in db.GetNamingConventions()) - { - NamingConventionPatternsComboBox.Items.Add(pattern.Name); - } - - NamingConventionPatternsComboBox.SelectedIndexChanged += NamingConventionPatternsComboBox_SelectedIndexChanged; NameTextBox.TextChanged += TextChanged; RegexTextBox.TextChanged += TextChanged; ExampleTextBox.TextChanged += TextChanged; @@ -93,7 +85,9 @@ namespace DataOrganizer var db = new DB(); db.DeleteNamingConvention(ActivePatternId); - NamingConventionPatternsComboBox.SelectedIndex = 0; + ClearForm(); + + RefreshNamingConventions(); } } @@ -129,5 +123,39 @@ namespace DataOrganizer RegexResultsTextBox.Text = $"Error:{Environment.NewLine}{ex.Message}"; } } + + private void AddUpdateButton_Click(object sender, EventArgs e) + { + var db = new DB(); + + if(ActivePatternId == 0) + { + db.InsertNamingConvention(NameTextBox.Text, RegexTextBox.Text, ExampleTextBox.Text); + ClearForm(); + RefreshNamingConventions(); + } + else + { + db.UpdateNamingConvention(ActivePatternId, NameTextBox.Text, RegexTextBox.Text, ExampleTextBox.Text); + PatternIdLabel.Text = $"Pattern ID: {ActivePatternId} (Updated)"; + } + } + + private void RefreshNamingConventions() + { + NamingConventionPatternsComboBox.SelectedIndexChanged -= NamingConventionPatternsComboBox_SelectedIndexChanged; + NamingConventionPatternsComboBox.Items.Clear(); + + var db = new DB(); + NamingConventionPatternsComboBox.Items.Add("Add New Pattern"); + NamingConventionPatternsComboBox.SelectedIndex = 0; + + foreach (var pattern in db.GetNamingConventions()) + { + NamingConventionPatternsComboBox.Items.Add(pattern.Name); + } + + NamingConventionPatternsComboBox.SelectedIndexChanged += NamingConventionPatternsComboBox_SelectedIndexChanged; + } } }