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); }