private IQueryable <PlayerBan> FindBansInternal(string searchTerm, BanSearchMode searchMode) { switch (searchMode) { case BanSearchMode.Id: return(GetBansById(searchTerm)); case BanSearchMode.Ip: return(GetBansByIp(searchTerm)); case BanSearchMode.Hwid: return(GetBansByHwid(searchTerm)); case BanSearchMode.IdOrIp: return(GetBansById(searchTerm).Concat(GetBansByIp(searchTerm))); case BanSearchMode.IdOrHwid: return(GetBansById(searchTerm).Concat(GetBansByHwid(searchTerm))); case BanSearchMode.IpOrHwid: return(GetBansByIp(searchTerm).Concat(GetBansByHwid(searchTerm))); case BanSearchMode.All: return(GetBansById(searchTerm).Concat(GetBansByIp(searchTerm)).Concat(GetBansByHwid(searchTerm))); default: return(m_DbContext.PlayerBans.Take(0)); } }
public List <PlayerBan> UnbanAutoFind(string target, BanSearchMode searchMode) { var bans = FindBansInEffect(target, searchMode); UnbanInternal(bans); SaveChanges(); return(bans); }
public async Task <List <PlayerBan> > UnbanAutoFindAsync(string target, BanSearchMode searchMode) { var bans = await FindBansInEffectAsync(target, searchMode); UnbanInternal(bans); await SaveChangesAsync(); return(bans); }
public async Task <List <PlayerBan> > FindBansInEffectAsync(string searchTerm, BanSearchMode searchMode) { var bans = await FindBansInEffectInternal(searchTerm, searchMode).ToListAsync(); return(bans.Where(k => DateTime.Now.Subtract(k.TimeOfBan).TotalSeconds <= k.Duration).ToList()); }
public List <PlayerBan> FindBans(string searchTerm, BanSearchMode searchMode) { return(FindBansInternal(searchTerm, searchMode).ToList()); }
public async Task <List <PlayerBan> > FindBansAsync(string searchTerm, BanSearchMode searchMode) { return(await FindBansInternal(searchTerm, searchMode).ToListAsync()); }
public List <PlayerBan> FindBansInEffect(string searchTerm, BanSearchMode searchMode) { return(FindBansInEffectInternal(searchTerm, searchMode).ToList() .Where(k => DateTime.Now.Subtract(k.TimeOfBan).TotalSeconds <= k.Duration).ToList()); }