/// <summary>
        /// The LinkUsers method.
        /// </summary>
        private void LinkUsers()
        {
            var linkList   = new List <User>();
            var unlinkList = new List <User>();

            foreach (ListViewItem item in lvPrivilegeSources.Items)
            {
                var user = (User)item.Tag;

                if (item.Checked)
                {
                    if (!CurrentSourceList.Any(s => user.Id.Contains(s)))
                    {
                        linkList.Add(user);
                    }
                }
                else
                {
                    if (CurrentSourceList.Any(s => user.Id.Contains(s)))
                    {
                        unlinkList.Add(user);
                    }
                }
            }

            if (linkList.Count > 0)
            {
                SelectedPrivilege.Link(linkList);
            }

            if (unlinkList.Count > 0)
            {
                SelectedPrivilege.Unlink(unlinkList);
            }

            SelectedPrivilege.IsRestricted = SelectedPrivilege.LinkedUsers.Count > 0;
        }
        /// <summary>
        /// The LinkDevices method.
        /// </summary>
        private void LinkDevices()
        {
            var linkList   = new List <Device>();
            var unlinkList = new List <Device>();

            foreach (ListViewItem item in lvPrivilegeSources.Items)
            {
                var device = (Device)item.Tag;

                if (item.Checked)
                {
                    if (!CurrentSourceList.Any(s => device.Id.Contains(s)))
                    {
                        linkList.Add(device);
                    }
                }
                else
                {
                    if (CurrentSourceList.Any(s => device.Id.Contains(s)))
                    {
                        unlinkList.Add(device);
                    }
                }
            }

            if (linkList.Count > 0)
            {
                SelectedPrivilege.Link(linkList);
            }

            if (unlinkList.Count > 0)
            {
                SelectedPrivilege.Unlink(unlinkList);
            }

            SelectedPrivilege.IsRestricted = SelectedPrivilege.LinkedDevices.Count > 0;
        }