Exemplo n.º 1
0
        public async Task <IActionResult> AuditAsync(MathAuditLogFilter filter)
        {
            var data  = MathRepository.GetAuditLog(filter).ToList();
            var items = data.Select(o => new MathAuditItem(o, DiscordClient)).ToList();
            var users = await UserService.GetUsersForFilterAsync();

            var viewModel = new MathAuditLogViewModel(DiscordClient, items, filter, users);

            return(View(viewModel));
        }
Exemplo n.º 2
0
        public IQueryable <MathAuditLogItem> GetAuditLog(MathAuditLogFilter filter)
        {
            var query = Context.MathAuditLogs
                        .Include(o => o.User)
                        .AsQueryable();

            if (filter.Channel != null)
            {
                var channel = filter.Channel.Value.ToString();
                query = query.Where(o => o.ChannelID == channel);
            }

            if (filter.DateTimeFrom != null)
            {
                query = query.Where(o => o.DateTime >= filter.DateTimeFrom.Value);
            }

            if (filter.DateTimeTo != null)
            {
                query = query.Where(o => o.DateTime < filter.DateTimeTo.Value);
            }

            if (filter.GuildID != null)
            {
                var guild = filter.GuildID.Value.ToString();
                query = query.Where(o => o.User.GuildID == guild);
            }

            if (filter.UserID != null)
            {
                var user = filter.UserID.Value.ToString();
                query = query.Where(o => o.User.UserID == user);
            }

            return(query);
        }