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)); }