Exemple #1
0
        private void PermissionsUserControl_Load(object sender, EventArgs e)
        {
            if (base.DesignMode)
            {
                return;
            }

/*			using (GmConnection conn = App.CreateConnection())
 *                      {
 *                              conn.Fill(dt, "select Id, Name from Permissions");
 *                      }
 *                      dcId = dt.Columns[0];
 *                      dcChecked = dt.Columns.Add("Checked", typeof(bool));
 *                      dcChecked.DefaultValue = false;
 *                      foreach (DataRow dr in dt.Rows)
 *                      {
 *                              PermissionId p = (PermissionId)dr[dcId];
 *                              dr[dcChecked] = permissions.HasPermission(p);
 *                      }*/
            foreach (Permission p in App.Config.permissions)
            {
                CheckedPermission cp = new CheckedPermission(p);
                cp.Checked = permissions.HasPermission(cp.id);
                checkedPermissions.Add(cp);
            }
            gridView.DataSource = checkedPermissions;
        }
Exemple #2
0
        private void OnCheckedPermissionChanged()
        {
            CheckedPermission cp = SelectedDataBoundItem;

            if (cp != null)
            {
                bool changed = false;
                if (cp.name.Length == 0)
                {
                    foreach (CheckedPermission cp2 in checkedPermissions)
                    {
                        if (cp.id != cp2.id && cp.group == cp2.group)
                        {
                            cp2.Checked = cp.Checked;
                            changed     = true;
                        }
                    }
                }
                else if (cp.Checked)
                {
                    foreach (CheckedPermission cp2 in checkedPermissions)
                    {
                        if (cp.id != cp2.id && cp2.name.Length == 0 && cp2.group == cp.group)
                        {
                            if (!cp2.Checked)
                            {
                                cp2.Checked = true;
                                changed     = true;
                            }
                            break;
                        }
                    }
                }
                if (changed)
                {
                    gridView.Invalidate();
                }
            }
        }