private void btnDecrpytTheColumns_Click(object sender, EventArgs e) { TreeNode rootNode = treeView1.Nodes[0]; List <ParentItem> items = new List <ParentItem>(); try { foreach (TreeNode table in rootNode.Nodes) { bool isAnyColumnSelected = false; foreach (TreeNode column in table.Nodes) { if (column.Checked) { isAnyColumnSelected = true; } } if (!isAnyColumnSelected) { continue; } string tableName = table.Text; foreach (TreeNode column in table.Nodes) { ParentItem pi = items.FirstOrDefault(parentItem => string.Compare(parentItem.ItemName, tableName, true) == 0); if (pi == null) { pi = new ParentItem { ItemName = tableName }; items.Add(pi); } string columnName = column.Text; ChildItem ci = pi.Children.FirstOrDefault(childItem => string.Compare(childItem.ItemName, columnName, true) == 0); if (ci == null) { ci = new ChildItem { ItemName = columnName, Selected = column.Checked }; pi.Children.Add(ci); } } } if (dm == null) { dm = new DataManager(txtConnectionString.Text); } dm.DecryptData(items); MessageBox.Show("Completed"); } catch (Exception exp) { MessageBox.Show(exp.Message); } }
public List <ParentItem> GetTablesAndColumns() { string query = "select t.name, c.name from sys.objects t join sys.columns c on t.object_id = c.object_id and t.type = 'U' and t.name <>'dtproperties' order by t.name"; var reader = GetData(query); if (reader != null) { while (reader.Read()) { string tableName = reader.GetString(0); string columnName = reader.GetString(1); var parentItem = tablesAndColumns.FirstOrDefault(parent => string.Compare(parent.ItemName, tableName, true) == 0); if (parentItem == null) { parentItem = new ParentItem(); parentItem.ItemName = tableName; parentItem.Children.Add(new ChildItem { ItemName = columnName }); tablesAndColumns.Add(parentItem); } else { var childItem = parentItem.Children.FirstOrDefault(child => string.Compare(child.ItemName, columnName, true) == 0); if (childItem == null) { parentItem.Children.Add(new ChildItem { ItemName = columnName }); } } } } reader.Close(); return(tablesAndColumns); }