public void RemoveUsersGuildKarmaRecord(ulong guildId, ulong userId) { GuildKarmaRecord deletion = this.context.GuildKarmaRecords.FirstOrDefault(record => record.GuildId == guildId && record.UserId == userId); this.context.Remove(deletion); this.context.SaveChanges(); }
public void AddKarma(ulong userId, ulong guildId, ulong karma) { GuildKarmaRecord guildKarmaRecord = this.GetUsersGuildKarmaRecord(userId, guildId); guildKarmaRecord.CurrentKarma += karma; this.context.GuildKarmaRecords.Update(guildKarmaRecord); this.context.SaveChanges(); }
public async Task ShowKarmaOfOtherAsync(CommandContext context, [Description("The member whose karma you'd like to view.")] DiscordMember member) { using IBotAccessProvider provider = this.providerBuilder.Build(); GuildKarmaRecord userKarmaRecord = provider.GetUsersGuildKarmaRecord(member.Id, context.Guild.Id); DiscordEmbed response = new DiscordEmbedBuilder() .AddField("Karma:", $"{userKarmaRecord.CurrentKarma}", true) .WithAuthor(member.DisplayName, iconUrl: member.AvatarUrl) .WithColor(member.Color); await context.RespondAsync(embed : response); }
public GuildKarmaRecord GetUsersGuildKarmaRecord(ulong userId, ulong guildId) { GuildKarmaRecord record = this.context.GuildKarmaRecords.FirstOrDefault(record => record.UserId == userId && record.GuildId == guildId); if (record == null) { record = new GuildKarmaRecord { GuildId = guildId, UserId = userId, CurrentKarma = 0, }; this.context.GuildKarmaRecords.Add(record); this.context.SaveChanges(); } return(record); }