public IEnumerable <ReputationEntry> GetReputation(MiunieUser invoker) { var rep = new List <ReputationEntry>(); if (invoker is null || invoker.Reputation is null) { return(rep); } foreach (MiunieUser user in _userProvider.GetAllUsers().Where(x => x.Id != invoker.Id)) { if (user.Reputation.PlusRepLog.ContainsKey(invoker.UserId)) { rep.Add(new ReputationEntry(user.UserId, user.Name, user.Reputation.PlusRepLog[invoker.UserId], ReputationType.Plus, true)); } if (user.Reputation.MinusRepLog.ContainsKey(invoker.UserId)) { rep.Add(new ReputationEntry(user.UserId, user.Name, user.Reputation.PlusRepLog[invoker.UserId], ReputationType.Minus, true)); } } foreach (KeyValuePair <ulong, DateTime> entry in invoker.Reputation.PlusRepLog) { var user = _userProvider.GetById(entry.Key, invoker.GuildId); rep.Add(new ReputationEntry(user.UserId, user.Name, entry.Value, ReputationType.Plus)); } foreach (KeyValuePair <ulong, DateTime> entry in invoker.Reputation.MinusRepLog) { var user = _userProvider.GetById(entry.Key, invoker.GuildId); rep.Add(new ReputationEntry(user.UserId, user.Name, entry.Value, ReputationType.Minus)); } return(rep.OrderByDescending(x => x.GivenAt)); }
public void NonExistentUserGetsCreated() { var actual = _provider.GetById(100, 200); Assert.NotNull(actual); _persistentStorageMock .Verify(s => s.Store(It.IsAny <MiunieUser>(), It.IsAny <string>(), It.IsAny <string>()), Times.Once()); }
public MiunieUser DiscordMemberToMiunieUser(DiscordMember user) { var mUser = _userProvider.GetById(user.Id, user.Guild.Id); mUser.Name = user.Nickname ?? user.Username; mUser.AvatarUrl = user.AvatarUrl; mUser.JoinedAt = user.JoinedAt.UtcDateTime; mUser.IsBot = user.IsBot; mUser.Roles = user.Roles.Select(r => r.DiscordRoleToMiunieRole()); _userProvider.StoreUser(mUser); return(mUser); }
public MiunieUser DiscordMemberToMiunieUser(SocketGuildUser user) { if (user is null) { throw new ArgumentNullException(nameof(user)); } var mUser = _userProvider.GetById(user.Id, user.Guild.Id); mUser.Name = user.Nickname ?? user.Username; mUser.AvatarUrl = user.GetAvatarUrl(); mUser.JoinedAt = user.JoinedAt?.UtcDateTime ?? default; mUser.CreatedAt = user.CreatedAt.UtcDateTime; mUser.IsBot = user.IsBot; mUser.Roles = user.Roles.Select(r => r.DiscordRoleToMiunieRole()); _userProvider.StoreUser(mUser); return(mUser); }