protected void LoadSubTreeView(TreeNode currentRootNode,Menuitem currentRootMenuItem,List<Menuitem> menuItems)
 {
     var subMenuItems = menuItems.Where(p => p.Parentmenuid == currentRootMenuItem.Menuid).ToList();
     if(subMenuItems.Count==0){return;}
     foreach (var subMenuItem in subMenuItems)
     {
         var currentNode = new TreeNode(subMenuItem.Menuname, subMenuItem.Menuid);
         currentNode.ShowCheckBox = true;
         currentNode.Checked = !string.IsNullOrEmpty(subMenuItem.Roleid);
         LoadSubTreeView(currentNode, subMenuItem, menuItems);
         currentRootNode.ChildNodes.Add(currentNode);
     }
 }
 public Menuitem CreateMenuitem(Menuitem info)
 {
     try
     {
         Management.BeginTransaction();
         Management.CreateMenuitem(info);
         Management.Commit();
     }
     catch
     {
         Management.Rollback();
         throw;
     }
     return info;
 }
        public Menuitem CreateMenuitem(Menuitem info)
        {
            try
            {
                string sqlCommand = @"INSERT INTO ""MENUITEM"" (""MENUID"",""MENUNAME"",""PARENTMENUID"",""MENUADDRESS"",""ORDERBY"",""FUNCTIONID"",""BUTTONID"") VALUES (:Menuid,:Menuname,:Parentmenuid,:Menuaddress,:Orderby,:Functionid,:Buttonid)";
                this.Database.AddInParameter(":Menuid", info.Menuid);//DBType:VARCHAR2
                this.Database.AddInParameter(":Menuname", info.Menuname);//DBType:NVARCHAR2
                this.Database.AddInParameter(":Parentmenuid", info.Parentmenuid);//DBType:VARCHAR2
                this.Database.AddInParameter(":Menuaddress", info.Menuaddress);//DBType:VARCHAR2
                this.Database.AddInParameter(":Orderby", info.Orderby);//DBType:NUMBER
                this.Database.AddInParameter(":Functionid", info.Functionid);//DBType:VARCHAR2
                this.Database.AddInParameter(":Buttonid", info.Buttonid);//DBType:VARCHAR2
                this.Database.ExecuteNonQuery(sqlCommand);

            }
            finally
            {
                this.Database.ClearParameter();
            }
            return info;
        }
 public Menuitem UpdateMenuitemByMenuid(Menuitem info)
 {
     try
     {
         this.Database.AddInParameter(":Menuid", info.Menuid);//DBType:VARCHAR2
         this.Database.AddInParameter(":Menuname", info.Menuname);//DBType:NVARCHAR2
         this.Database.AddInParameter(":Parentmenuid", info.Parentmenuid);//DBType:VARCHAR2
         this.Database.AddInParameter(":Menuaddress", info.Menuaddress);//DBType:VARCHAR2
         this.Database.AddInParameter(":Orderby", info.Orderby);//DBType:NUMBER
         this.Database.AddInParameter(":Functionid", info.Functionid);//DBType:VARCHAR2
         this.Database.AddInParameter(":Buttonid", info.Buttonid);//DBType:VARCHAR2
         string sqlCommand = @"UPDATE ""MENUITEM"" SET  ""MENUNAME""=:Menuname , ""PARENTMENUID""=:Parentmenuid , ""MENUADDRESS""=:Menuaddress , ""ORDERBY""=:Orderby , ""FUNCTIONID""=:Functionid , ""BUTTONID""=:Buttonid WHERE  ""MENUID""=:Menuid";
         this.Database.ExecuteNonQuery(sqlCommand);
     }
     finally
     {
         this.Database.ClearParameter();
     }
     return info;
 }