예제 #1
0
        private List <string> GetCheckedNode(TreeNodeCollection nodes)
        {
            List <string> nodelist = new List <string>();

            if (nodes == null)
            {
                return(nodelist);
            }

            foreach (TreeNode childnode in nodes)
            {
                if (childnode.Checked)
                {
                    /// Registration of access s.92
                    UsereAccess UA = new UsereAccess();
                    UA.userID       = this.GetUserID;
                    UA.SystemPardID = Convert.ToInt32(childnode.Tag);

                    var query = from UAccess in database.UsereAccesses
                                where UAccess.userID == this.GetUserID
                                where UAccess.SystemPardID == UA.SystemPardID
                                select UAccess;
                    var result = query.ToList();
                    if (result.Count == 0) /// Did he already have this access?
                    {
                        database.UsereAccesses.Add(UA);
                        database.SaveChanges();
                    }
                }
                else if (childnode.Checked == false && (childnode.Tag) != "1")  ///Get access
                {
                    try
                    {
                        database.Sp_DeleteUserAccess(this.GetUserID, Convert.ToInt32(childnode.Tag));
                        database.SaveChanges();
                    }
                    catch
                    {
                        MessageBox.Show("There was a problem with the server. Try again.");
                    }
                }
                nodelist.AddRange(GetCheckedNode(childnode.Nodes));
            }
            return(nodelist);
        }