Exemplo n.º 1
0
        public async Task DropUserAsync(ulong userId)
        {
            Users.Remove(await Users.AsQueryable()
                         .FirstAsync(x => x.Id == userId).ConfigureAwait(false));

            Pastas.RemoveRange(Pastas.AsQueryable()
                               .Where(x => x.OwnerId == userId));

            UserCommandUsage.RemoveRange(UserCommandUsage.AsQueryable()
                                         .Where(x => x.UserId == userId));

            Reputations.RemoveRange(Reputations.AsQueryable()
                                    .Where(x => x.Repee == userId || x.Reper == userId));

            UserXp.RemoveRange(UserXp.AsQueryable()
                               .Where(x => x.UserId == userId));

            StarboardVotes.RemoveRange(
                StarboardVotes.AsQueryable().Where(x => x.VoterId == userId)
                );

            GuildWeeklyPots.RemoveRange(
                GuildWeeklyPots.AsQueryable().Where(x => x.UserId == userId)
                );

            PlacePixelHistory.RemoveRange(
                PlacePixelHistory.AsQueryable().Where(x => x.ModifierId == userId)
                );
        }
Exemplo n.º 2
0
        //add new user
        public static UserXp Add(IUser user, int xp)
        {
            UserXp userXp = new UserXp(user.Id, xp, 0);

            Xp.Users.Add(userXp);
            WriteOut();
            return(userXp);
        }
Exemplo n.º 3
0
        GetOrderedGuildExperienceLeaderboard(ulong guildId)
        {
            if (UserXp.AsNoTracking().Any())
            {
                List <UserExperience> experiences = UserXp.AsNoTracking().Where(entry => entry.GuildId == guildId).ToList();

                return(experiences.OrderByDescending(x => x.TotalXP)
                       .ToList().AsReadOnly());
            }
            else
            {
                return(null);
            }
        }
Exemplo n.º 4
0
        GetOrderedGlobalExperienceLeaderboard()
        {
            if (UserXp.AsNoTracking().Any())
            {
                var experiences = UserXp.AsNoTracking().Where(x => x.GuildId == 0);

                return(experiences.OrderByDescending(x => x.TotalXP)
                       .ToList().AsReadOnly());
            }
            else
            {
                return(null);
            }
        }
Exemplo n.º 5
0
        public async Task DropGuildAsync(ulong guildId)
        {
            Guilds.Remove(await Guilds.AsQueryable()
                          .FirstAsync(x => x.Id == guildId).ConfigureAwait(false));

            Modules.Remove(await Modules.AsQueryable()
                           .FirstAsync(x => x.Id == guildId).ConfigureAwait(false));

            IAmRoles.RemoveRange(IAmRoles.AsQueryable()
                                 .Where(x => x.GuildId == guildId));

            Features.Remove(await Features.AsQueryable()
                            .FirstAsync(x => x.Id == guildId).ConfigureAwait(false));

            CustomCommands.RemoveRange(
                CustomCommands.AsQueryable().Where(x => x.GuildId == guildId)
                );

            UserXp.RemoveRange(
                UserXp.AsQueryable().Where(x => x.GuildId == guildId)
                );

            TwitterFollows.RemoveRange(
                TwitterFollows.AsQueryable().Where(x => x.GuildId == guildId)
                );

            TwitchFollows.RemoveRange(
                TwitchFollows.AsQueryable().Where(x => x.GuildId == guildId)
                );

            StarboardBlacklist.RemoveRange(
                StarboardBlacklist.AsQueryable().Where(x => x.GuildId == guildId)
                );

            StarboardWhitelist.RemoveRange(
                StarboardWhitelist.AsQueryable().Where(x => x.GuildId == guildId)
                );

            StarboardVotes.RemoveRange(
                StarboardVotes.AsQueryable().Where(x => x.GuildId == guildId)
                );

            GuildWeeklyPots.RemoveRange(
                GuildWeeklyPots.AsQueryable().Where(x => x.GuildId == guildId)
                );
        }