using System.Linq; using JetBrains.Annotations; using Orchard.Data; using Orchard.ContentManagement.Handlers; using Orchard.Roles.Models; namespace Orchard.Roles.Handlers { [UsedImplicitly] public class UserRolesPartHandler : ContentHandler { private readonly IRepository _userRolesRepository; public UserRolesPartHandler(IRepository userRolesRepository) { _userRolesRepository = userRolesRepository; Filters.Add(new ActivatingFilter("User")); OnLoaded((context, userRoles) => { userRoles.Roles = _userRolesRepository .Fetch(x => x.UserId == context.ContentItem.Id) .Select(x => x.Role.Name).ToList(); }); } } }