public void SetStateVisibilities(long stateId, RoleType[] roles) { if(roles == null) { throw new ArgumentNullException("roles"); } var table = TableParameters.GeIdsTable("Roles", roles.Select(x => (long)x).ToArray()); _executor.Execute("[dbo].[State_SetStateVisibilities]", new TableParameters(new { stateId }, table)); }
/// <summary> /// Gets the roles the current user has access to /// NOTE: Role includes MemberParties, and OwnerBusinessAccount /// </summary> /// <param name="coreEntitiesContainer">The core entities container.</param> /// <param name="allowedRoleTypes">Return null if the user does not have access to one of these role types.</param> /// <exception cref="AuthenticationException">Thrown if user is not logged in</exception> public static IQueryable<Role> RolesCurrentUserHasAccessTo(this CoreEntitiesContainer coreEntitiesContainer, RoleType[] allowedRoleTypes) { var allowedRoleTypeInts = allowedRoleTypes.Select(t => (int)t); var roles = (from user in CurrentUserAccountQueryable(coreEntitiesContainer) //there will only be one from role in coreEntitiesContainer.Roles.Where(r => allowedRoleTypeInts.Contains(r.RoleTypeInt)) #if !DEBUG //Skip security in debug mode where role.OwnerBusinessAccountId == user.Id || role.MemberParties.Any(a => a.Id == user.Id) #endif select role).Include(r => r.OwnerBusinessAccount).Include(r => r.MemberParties); return roles; }
public void Set(EventType eventType, RoleType[] recipients) { var table = TableParameters.GeIdsTable("Recipients", recipients.Select(x => (long)x).ToArray()); _executor.Execute("[dbo].[EventEmailRecipient_Set]", new TableParameters(new { EventTypeId = eventType }, table)); }