Пример #1
0
 private void btnOK_Click(object sender, EventArgs e)
 {
     foreach (DataGridViewRow item in this.dgvAccess.Rows)
     {
         if (item.Tag is ControlAccess)
         {
             ControlAccess access    = item.Tag as ControlAccess;
             RoleEnums     roleLevel = RoleEnums.Operator;
             if ((bool)item.Cells[1].Value)
             {
                 roleLevel = RoleEnums.Operator;
             }
             else if ((bool)item.Cells[2].Value)
             {
                 roleLevel = RoleEnums.Technician;
             }
             else if ((bool)item.Cells[3].Value)
             {
                 roleLevel = RoleEnums.Supervisor;
             }
             access.RoleLevel = roleLevel;
         }
     }
     MsgCenter.Broadcast(MsgConstants.MODIFY_ACCESS, this, null);
     AccessControlMgr.Instance.Save();
 }
Пример #2
0
 void RefreshPermission()
 {
     lstPermissionEnum = new List <QcPermissionEnum>();
     RoleEnums.ForEach(r => { r.PermissionEnums.ForEach(p =>
                                                        { if (lstPermissionEnum.Contains(p) == false)
                                                          {
                                                              lstPermissionEnum.Add(p);
                                                          }
                                                        }
                                                        ); });
 }
Пример #3
0
 public ControlAccess Add(List <string> names, RoleEnums roleLevel)
 {
     if (names == null)
     {
         return(this);
     }
     foreach (var item in names)
     {
         AccessMap access = this.Controls.Find(p => p.ControlName == item);
         if (access == null)
         {
             this.Controls.Add(new AccessMap()
             {
                 ControlName = item, RoleLevel = roleLevel
             });
         }
     }
     return(this);
 }
Пример #4
0
 void Messagner_DataUpdate(object sender, QcMessagerDataUpdateEventArg e)
 {
     if (e.Node.TableName == "QC_USE_ROLE")
     {
         var qup = e.Node as QcRole;
         if (e.Node is QcNewNode)
         {
             qup = new QcRole(e.Node.GetRow());
         }
         var qre = QcRoleEnum.RolesEnums.FirstOrDefault(
             t => t.RoleCode == qup.RoleCode);
         if (qre != null)
         {
             qre.InitPermission();
         }
         if (qup.UserID == User.UserID)
         {
             this.InitRoles();
         }
     }
     else if (e.Node.TableName == "QC_USE_PERMISSION")
     {
         var qp = e.Node as QcPermission;
         if (e.Node is QcNewNode)
         {
             qp = new QcPermission(e.Node.GetRow());
         }
         var qre = QcRoleEnum.RolesEnums.FirstOrDefault(
             t => t.RoleCode == qp.RoleCode);
         if (qre != null)
         {
             qre.InitPermission();
         }
         var re = RoleEnums.FirstOrDefault(t => t.RoleCode == qp.RoleCode);
         if (re != null)
         {
             re.InitPermission();
             this.RefreshPermission();
         }
     }
 }
Пример #5
0
 public ControlAccess(string name, string accessDescription, string controlName, RoleEnums roleLevel) : this(name, accessDescription)
 {
     this.Add(new List <string> {
         controlName
     }, roleLevel);
 }
Пример #6
0
 public AccessMap(string controlName, RoleEnums roleLevel)
 {
     this.ControlName = controlName;
     this.RoleLevel   = roleLevel;
 }