private void FillRemovePrivilege(PrivilegeDepthExtended initialValue , PrivilegeDepthExtended currentValue , PrivilegeType privilegeType , HashSet <Guid> privilegesRemove ) { if (currentValue == initialValue) { return; } if (privilegeType == PrivilegeType.None || EntityPrivileges == null || !EntityPrivileges.Any() ) { return; } var privilege = EntityPrivileges.FirstOrDefault(p => p.PrivilegeType == privilegeType); if (privilege == null) { return; } if (currentValue == PrivilegeDepthExtended.None) { privilegesRemove.Add(privilege.PrivilegeId); } }
public static bool GetCanBeDepth(SecurityPrivilegeMetadata priv, PrivilegeDepthExtended privilegeDepth) { switch (privilegeDepth) { case PrivilegeDepthExtended.None: return(true); case PrivilegeDepthExtended.Basic: return(priv.CanBeBasic); case PrivilegeDepthExtended.Local: return(priv.CanBeLocal); case PrivilegeDepthExtended.Deep: return(priv.CanBeDeep); case PrivilegeDepthExtended.Global: return(priv.CanBeGlobal); default: break; } return(false); }
public void LoadData(Role role, IEnumerable <RolePrivileges> rolePrivileges, Privilege privilege) { this.Role = role; this.Privilege = privilege; this._Right = this._initialRight = GetPrivilegeLevel(this.Privilege.PrivilegeId.Value, rolePrivileges); this.OnPropertyChanging(nameof(IsChanged)); this.IsChanged = false; this.OnPropertyChanged(nameof(IsChanged)); }
private void SetSelectedRolesPrivilege(PrivilegeDepthExtended privilegeDepth) { Privilege privilege = GetSelectedOtherPrivilege()?.Privilege; if (privilege == null) { return; } var list = lstVwSecurityRoles.SelectedItems.Cast <OtherPrivilegeRolePrivilegeViewItem>().ToList(); if (!list.Any()) { return; } bool canBePrivilegeDepth = false; switch (privilegeDepth) { case PrivilegeDepthExtended.Basic: canBePrivilegeDepth = privilege.CanBeBasic.GetValueOrDefault(); break; case PrivilegeDepthExtended.Local: canBePrivilegeDepth = privilege.CanBeLocal.GetValueOrDefault(); break; case PrivilegeDepthExtended.Deep: canBePrivilegeDepth = privilege.CanBeDeep.GetValueOrDefault(); break; case PrivilegeDepthExtended.Global: canBePrivilegeDepth = privilege.CanBeGlobal.GetValueOrDefault(); break; case PrivilegeDepthExtended.None: canBePrivilegeDepth = true; break; default: break; } if (canBePrivilegeDepth) { foreach (var item in list) { item.Right = privilegeDepth; } } }
private void LoadData1(Privilege privilege1, IEnumerable <RolePrivilege> rolePrivileges1) { this.Privilege1 = privilege1; this._Right1 = this._initialRight1 = GetPrivilegeLevel(this.Privilege1.PrivilegeId.Value, rolePrivileges1); if (privilege1.AccessRight.HasValue && Enum.IsDefined(typeof(AccessRights), privilege1.AccessRight.Value) ) { this.PrivilegeAccessRights1 = (AccessRights)privilege1.AccessRight.Value; } else { this.PrivilegeAccessRights1 = null; } }
public OtherPrivilegeViewItem(Privilege privilege, IEnumerable <RolePrivilege> rolePrivileges, bool isCustomizable = false) { this.IsCustomizable = isCustomizable; this.Privilege = privilege; this._Right = this._initialRight = GetPrivilegeLevel(rolePrivileges); if (privilege.AccessRight.HasValue && Enum.IsDefined(typeof(AccessRights), privilege.AccessRight.Value) ) { this.PrivilegeAccessRights = (AccessRights)privilege.AccessRight.Value; } this._IsChanged = false; }
protected static void SetPrivilegeLevel( Dictionary <PrivilegeType, SecurityPrivilegeMetadata> availablePrivilegesTypes , PrivilegeDepthExtended initialValue , PrivilegeDepthExtended currentValue , PrivilegeType privilegeType , Dictionary <Guid, PrivilegeDepth> privilegesAdd , HashSet <Guid> privilegesRemove ) { if (currentValue == initialValue) { return; } if (privilegeType == PrivilegeType.None || !availablePrivilegesTypes.ContainsKey(privilegeType) ) { return; } var privilege = availablePrivilegesTypes[privilegeType]; if (privilege == null) { return; } if (currentValue == PrivilegeDepthExtended.None) { privilegesRemove.Add(privilege.PrivilegeId); } else { if (privilegesAdd.ContainsKey(privilege.PrivilegeId)) { privilegesAdd[privilege.PrivilegeId] = (PrivilegeDepth)Math.Max((int)currentValue, (int)privilegesAdd[privilege.PrivilegeId]); } else { privilegesAdd.Add(privilege.PrivilegeId, (PrivilegeDepth)currentValue); } } }
public void LoadData(EntityMetadata entityMetadata, IEnumerable <RolePrivilege> rolePrivileges) { this.EntityMetadata = entityMetadata; this._availablePrivilegesTypes.Clear(); this.DisplayName = CreateFileHandler.GetLocalizedLabel(entityMetadata.DisplayName); this._CreateRight = this._initialCreate = GetPrivilegeLevel(rolePrivileges, PrivilegeType.Create); this._ReadRight = this._initialRead = GetPrivilegeLevel(rolePrivileges, PrivilegeType.Read); this._UpdateRight = this._initialUpdate = GetPrivilegeLevel(rolePrivileges, PrivilegeType.Write); this._DeleteRight = this._initialDelete = GetPrivilegeLevel(rolePrivileges, PrivilegeType.Delete); this._AppendRight = this._initialAppend = GetPrivilegeLevel(rolePrivileges, PrivilegeType.Append); this._AppendToRight = this._initialAppendTo = GetPrivilegeLevel(rolePrivileges, PrivilegeType.AppendTo); this._ShareRight = this._initialShare = GetPrivilegeLevel(rolePrivileges, PrivilegeType.Share); this._AssignRight = this._initialAssign = GetPrivilegeLevel(rolePrivileges, PrivilegeType.Assign); this._IsChanged = false; }
public void LoadData(Role role, IEnumerable <RolePrivileges> rolePrivileges, IEnumerable <SecurityPrivilegeMetadata> entityPrivileges) { this.Role = role; this.EntityPrivileges = entityPrivileges.ToArray(); this._availablePrivilegesTypes.Clear(); this._CreateRight = this._initialCreate = GetPrivilegeLevel(rolePrivileges, entityPrivileges, PrivilegeType.Create); this._ReadRight = this._initialRead = GetPrivilegeLevel(rolePrivileges, entityPrivileges, PrivilegeType.Read); this._UpdateRight = this._initialUpdate = GetPrivilegeLevel(rolePrivileges, entityPrivileges, PrivilegeType.Write); this._DeleteRight = this._initialDelete = GetPrivilegeLevel(rolePrivileges, entityPrivileges, PrivilegeType.Delete); this._AppendRight = this._initialAppend = GetPrivilegeLevel(rolePrivileges, entityPrivileges, PrivilegeType.Append); this._AppendToRight = this._initialAppendTo = GetPrivilegeLevel(rolePrivileges, entityPrivileges, PrivilegeType.AppendTo); this._ShareRight = this._initialShare = GetPrivilegeLevel(rolePrivileges, entityPrivileges, PrivilegeType.Share); this._AssignRight = this._initialAssign = GetPrivilegeLevel(rolePrivileges, entityPrivileges, PrivilegeType.Assign); this._IsChanged = false; }
private void FillAddPrivilege(PrivilegeDepthExtended initialValue , PrivilegeDepthExtended currentValue , PrivilegeType privilegeType , Dictionary <Guid, PrivilegeDepth> privilegesAdd ) { if (currentValue == initialValue) { return; } if (privilegeType == PrivilegeType.None || EntityPrivileges == null || !EntityPrivileges.Any() ) { return; } var privilege = EntityPrivileges.FirstOrDefault(p => p.PrivilegeType == privilegeType); if (privilege == null) { return; } if (currentValue != PrivilegeDepthExtended.None) { if (privilegesAdd.ContainsKey(privilege.PrivilegeId)) { privilegesAdd[privilege.PrivilegeId] = (PrivilegeDepth)Math.Max((int)currentValue, (int)privilegesAdd[privilege.PrivilegeId]); } else { privilegesAdd.Add(privilege.PrivilegeId, (PrivilegeDepth)currentValue); } } }