public bool HasAccessToMenu(ENTUserAccountEO userAccount, ENTRoleEOList roles) { if (IsAlwaysEnabled) { return(true); } else { foreach (var role in roles) { if (role.RoleUserAccounts.IsUserInRole(userAccount.ID)) { IEnumerable <ENTRoleCapabilityEO> capabilities = role.RoleCapabilites.GetByMenuItemId(ID); foreach (var capability in capabilities) { if ((capability != null) && (capability.AccessFlag != ENTRoleCapabilityEO.CapabilityAccessFlagEnum.None)) { return(true); } } } } } if (ChildMenuList.Count > 0) { foreach (var item in ChildMenuList) { if (item.HasAccessToMenu(userAccount, roles)) { return(true); } } } return(false); }
public ENTRoleCapabilityEO.CapabilityAccessFlagEnum GetCapabilityAccess( int capabilityId, ENTRoleEOList rolesWithCapabilities) { ENTRoleCapabilityEO.CapabilityAccessFlagEnum retVal = ENTRoleCapabilityEO.CapabilityAccessFlagEnum.None; foreach (var role in Roles) { ENTRoleEO roleWithCapabilities = rolesWithCapabilities.GetByRoleId(role.ID); foreach (var capability in roleWithCapabilities.RoleCapabilites) { if (capability.AccessFlag == ENTRoleCapabilityEO.CapabilityAccessFlagEnum.Edit) { return ENTRoleCapabilityEO.CapabilityAccessFlagEnum.Edit; } else if (capability.AccessFlag == ENTRoleCapabilityEO.CapabilityAccessFlagEnum.ReadOnly) { retVal = ENTRoleCapabilityEO.CapabilityAccessFlagEnum.ReadOnly; } } } return retVal; }
public ENTUserAccountEO() { Roles = new ENTRoleEOList(); }