using System.Collections.Generic; using System.Linq; namespace Maki { internal sealed class MemberManager : BaseManager { internal MemberManager() { } public DiscordMember Id(ulong user) { lock (Collection) return Collection.Where(x => x.Server == null && x.User.Id == user).FirstOrDefault(); } public DiscordMember Id(ulong server, ulong user) { lock (Collection) return Collection.Where(x => x.Server.Id == server && x.User.Id == user).FirstOrDefault(); } public DiscordMember Id(DiscordServer server, ulong user) { lock (Collection) return Collection.Where(x => x.Server == server && x.User.Id == user).FirstOrDefault(); } public DiscordMember Id(DiscordServer server, DiscordUser user) { lock (Collection) return Collection.Where(x => x.Server == server && x.User == user).FirstOrDefault(); } public IEnumerable Server(DiscordServer server) { lock (Collection) return Collection.Where(x => x.Server == server); } public IEnumerable Role(DiscordRole role) { lock (Collection) return Collection.Where(x => x.HasRole(role.Id)); } } }