public async Task IssueBanFor(string username, string channelToBanFrom, string systemReason) { var suspensionsForUser = await suspensionRepository.GetSuspensionsForUser(username).ConfigureAwait(false); var suspensionsForUserInChannel = suspensionsForUser.Where(x => string.Equals(x.ChannelOfOrigin, channelToBanFrom, StringComparison.OrdinalIgnoreCase)); if (suspensionsForUserInChannel.Any(x => x.SuspensionType == SuspensionType.Ban && !x.InvalidSuspension && x.Audited)) { logger.LogInformation("{arg} has already been banned from {arg2}", username, channelToBanFrom); return; } client.BanUser(username, channelToBanFrom, systemReason); }