Esempio n. 1
0
        private void refreshGroups()
        {
            Dictionary <string, UserGroup> grps = UserGroups.ViewGroups();

            foreach (string kk in grps.Keys)
            {
                UserGroup ug = grps[kk];
                TreeNode  tn;

                if (!treeViewGroups.Nodes.ContainsKey(kk))
                {
                    tn                  = treeViewGroups.Nodes.Add(ug.GroupName, ug.GroupName);
                    tn.ImageKey         = "group";
                    tn.SelectedImageKey = "group";
                    tn.Tag              = "GROUP";
                }
                else
                {
                    tn = treeViewGroups.Nodes[kk];
                }

                bool isExpended = tn.IsExpanded;

                foreach (GroupUser gu in ug.GroupMembers)
                {
                    Lan.NetworkUser nu = currentUsers.Find(s => s.UserUniqueId == gu.UserUniqueId);

                    //oly shows online users...???
                    if (nu != null)
                    {
                        //check if in tree
                        if (!tn.Nodes.ContainsKey(nu.UserUniqueId))
                        {
                            //check if user online...
                            TreeNode unode = tn.Nodes.Add(nu.UserUniqueId, gu.UserName);
                            unode.ImageKey         = "person";
                            unode.SelectedImageKey = "person";
                            unode.Tag = gu;
                        }
                    }
                    else
                    {
                        if (tn.Nodes.ContainsKey(gu.UserUniqueId))
                        {
                            //Also remove from user list..
                            tn.Nodes[gu.UserUniqueId].Remove();
                        }
                    }

                    if (isExpended)
                    {
                        tn.Expand();
                    }
                }
            }
        }
Esempio n. 2
0
        //show userGroup delegate
        //delegate void d_ShowGroupMenu();
        private void contextMenuStripUsers_Opening(object sender, CancelEventArgs e)
        {
            //Invoke(new d_ShowGroupMenu(showGroupMenu));
            addToGroupToolStripMenuItem.DropDownItems.Clear();
            Dictionary <string, UserGroup> vgs = UserGroups.ViewGroups();

            Dictionary <string, UserGroup> .ValueCollection vals = vgs.Values;
            UserGroup[] ugs = new UserGroup[vals.Count];
            vals.CopyTo(ugs, 0);
            foreach (UserGroup ug in ugs)
            {
                ToolStripItem ts = addToGroupToolStripMenuItem.DropDownItems.Add(ug.GroupName);
                ts.Click += new EventHandler(ts_Click);
            }
        }
Esempio n. 3
0
        void ts_Click(object sender, EventArgs e)
        {
            ToolStripItem ts = (ToolStripItem)sender;
            Dictionary <string, UserGroup> lin = UserGroups.ViewGroups();
            var ug = from u in lin where u.Key == ts.Text select u;  //***************

            foreach (var v in ug)
            {
                UserGroup ui = (UserGroup)v.Value;
                GroupUser gu = new GroupUser();


                gu.UserName     = currentlySelectedUser.UserName;//
                gu.UserUniqueId = gu.UserName + currentlySelectedUser.ComputerName;
                UserGroups.AddUserToGroup(ui, gu);
            }

            refreshGroups();
        }