Exemple #1
0
 public TopicMenu(
     IStringLocalizer localizer,
     IModeratorStore <Moderator> moderatorStore)
 {
     T = localizer;
     _moderatorStore = moderatorStore;
 }
 public ModeratorListViewComponent(
     IContextFacade contextFacade,
     IModeratorStore <Moderator> moderatorStore)
 {
     _contextFacade  = contextFacade;
     _moderatorStore = moderatorStore;
 }
Exemple #3
0
 public TopicViewProvider(
     IModeratorStore <Moderator> moderatorStore,
     IPlatoUserStore <User> platoUserStore,
     IContextFacade contextFacade)
 {
     _moderatorStore = moderatorStore;
     _platoUserStore = platoUserStore;
     _contextFacade  = contextFacade;
 }
Exemple #4
0
 public ModeratorPermissionsHandler(
     IPermissionsManager <ModeratorPermission> permissionsManager,
     IModeratorStore <Moderator> moderatorStore,
     IPlatoUserStore <User> userStore,
     IContextFacade contextFacade)
 {
     _permissionsManager = permissionsManager;
     _moderatorStore     = moderatorStore;
     _contextFacade      = contextFacade;
     _userStore          = userStore;
 }
 public ModeratorViewProvider(
     IHttpContextAccessor httpContextAccessor,
     IModeratorStore <Moderator> moderatorStore,
     ICategoryStore <Category> channelStore,
     IFeatureFacade featureFacade)
 {
     _moderatorStore = moderatorStore;
     _channelStore   = channelStore;
     _featureFacade  = featureFacade;
     _request        = httpContextAccessor.HttpContext.Request;
 }
Exemple #6
0
        public AdminViewProvider(
            IStringLocalizer <AdminViewProvider> stringLocalizer,
            IPermissionsManager <ModeratorPermission> permissionsManager,
            IAuthorizationService authorizationService,
            IHttpContextAccessor httpContextAccessor,
            IModeratorStore <Moderator> moderatorStore,
            IPlatoUserStore <User> userStore)
        {
            _request              = httpContextAccessor.HttpContext.Request;
            _permissionsManager   = permissionsManager;
            _authorizationService = authorizationService;
            _moderatorStore       = moderatorStore;
            _userStore            = userStore;

            T = stringLocalizer;
        }
Exemple #7
0
        public AdminController(
            IHtmlLocalizer <AdminController> htmlLocalizer,
            IStringLocalizer <AdminController> stringLocalizer,
            IViewProviderManager <Moderator> viewProvider,
            IModeratorStore <Moderator> moderatorStore,
            IPlatoUserStore <User> userStore,
            IBreadCrumbManager breadCrumbManager,
            IAlerter alerter)
        {
            _viewProvider      = viewProvider;
            _userStore         = userStore;
            _moderatorStore    = moderatorStore;
            _breadCrumbManager = breadCrumbManager;
            _alerter           = alerter;

            T = htmlLocalizer;
            S = stringLocalizer;
        }
        public static async Task <IDictionary <SimpleUser, IEnumerable <Moderator> > > GetCategorizedModeratorsAsync(this IModeratorStore <Moderator> moderatorStore)
        {
            // Get all moderators
            var moderators = await moderatorStore
                             .QueryAsync()
                             .ToList();

            if (moderators?.Data == null)
            {
                return(null);
            }

            // Build distinct list of moderators
            IDictionary <int, SimpleUser> users = null;

            foreach (var moderator in moderators.Data)
            {
                if (users == null)
                {
                    users = new ConcurrentDictionary <int, SimpleUser>();
                }
                if (!users.Keys.Contains(moderator.UserId))
                {
                    users.Add(moderator.UserId, moderator.User);
                }
            }

            if (users == null)
            {
                return(null);
            }

            // Add moderator entries for each distinct user
            var output = new ConcurrentDictionary <SimpleUser, IEnumerable <Moderator> >();

            foreach (var user in users.Values)
            {
                var entries = moderators.Data
                              .Where(m => m.UserId == user.Id)
                              .ToList();
                foreach (var entry in entries)
                {
                    entry.CategoryName = "All Channels";
                    if (output.ContainsKey(user))
                    {
                        output[user] = output[user].Concat(new[] { entry });
                    }
                    else
                    {
                        output.TryAdd(user, new[] { entry });
                    }
                }
            }

            return(output);
        }
Exemple #9
0
 public ModeratorManager(IModeratorStore <Moderator> moderatorStore)
 {
     _moderatorStore = moderatorStore;
 }