コード例 #1
0
        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);
            }
        }
コード例 #2
0
ファイル: DataManager.cs プロジェクト: farhorizonindia/FH.RR
        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);
        }