示例#1
0
        public async Task <IEnumerable <string> > GetInactiveModeratedSubreddits()
        {
            var agent = await agentPool.GetOrCreateWebAgentAsync(User.Identity.Name, async (uname, uagent, rlimit) =>
            {
                var ident = await _userManager.FindByNameAsync(User.Identity.Name);
                return(new RedditSharp.RefreshTokenPoolEntry(uname, ident.RefreshToken, rlimit, uagent));
            });

            RedditSharp.Reddit rd = new RedditSharp.Reddit(agent, true);

            List <Models.Subreddit> activeSubs = await subBLL.GetActiveSubs(User);

            List <string> activeSubNames = activeSubs.Select(s => s.SubName.ToLower()).ToList();
            List <string> inactiveSubs   = new List <string>();
            await rd.User.GetModeratorSubreddits().ForEachAsync(s => { if (s.ModPermissions.HasFlag(RedditSharp.ModeratorPermission.All) && !activeSubNames.Contains(s.Name.ToLower()))
                                                                       {
                                                                           inactiveSubs.Add(s.Name);
                                                                       }
                                                                });

            return(inactiveSubs.OrderBy(s => s));
        }