using System.Collections.Generic; using System.Linq; namespace Neo.Legitimate.Common { public class SecurityHelper { #region UserHasRole public static bool UserHasRole(IEnumerable userRoles, params Role[] roles) { foreach (var r in roles) { if (userRoles.Contains((int)r)) { return true; } } return false; } #endregion #region UserHasAccessToSecurable public static bool UserHasAccessToSecurable(List securables, Securable securable) { return UserHasAccessToSecurable(securables, (long)securable); } public static bool UserHasAccessToSecurable(List securables, long securableId) { return securables != null && securables.Any(sec => sec.SecurableID == securableId && (sec.CanRead || sec.CanEdit)); } #endregion } }