/
AMachine
/
MMDB_Backend
Обзор
Документация
Войти
/
AMachine
/
MMDB_Backend
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
MMDB.Data/Extensions/BansFilter.cs
40 строк
1 KB
AssaultMachine
refactor sorting (по-человечески)
17 май 2025, 20:14
17 май 2025, 20:14
411b7f9
Код
Авторство
О чём код?
using MMDB.Core.FilterParameters; using MMDB.Core.Models; using MMDB.Data.Entities.SS13; namespace MMDB.Data.Extensions; public static class BansFilter { public static IQueryable<BanEntity> Filter(this IQueryable<BanEntity> bans, BanParameters filter) { if (!string.IsNullOrEmpty(filter.Ckey)) bans = bans.Where(b => b.Ckey.Contains(filter.Ckey)); if (filter.RoundId.HasValue) bans = bans.Where(b => b.RoundId == filter.RoundId.Value); if (filter.MinExpirationTime.HasValue) bans = bans.Where(b => b.ExpirationTime >= filter.MinExpirationTime.Value); if (filter.MaxExpirationTime.HasValue) bans = bans.Where(b => b.ExpirationTime <= filter.MaxExpirationTime.Value); if (!string.IsNullOrEmpty(filter.ACkey)) bans = bans.Where(b => b.ACkey.Contains(filter.ACkey)); if (filter.MinBantime.HasValue) bans = bans.Where(b => b.Bantime >= filter.MinBantime.Value); if (filter.MaxBantime.HasValue) bans = bans.Where(b => b.Bantime <= filter.MaxBantime.Value); if (!string.IsNullOrEmpty(filter.UnbannedCkey)) bans = bans.Where(b => b.UnbannedCkey.Contains(filter.UnbannedCkey)); if (!string.IsNullOrEmpty(filter.Role)) bans = bans.Where(b => b.Role.Contains(filter.Role)); return bans.Sort(filter); } }