public async Task AddOrUpdateAsync(UrlReferrer urlReferrer)
        {
            await _dbContext.UrlReferrers.InsertOrUpdateAsync(
                () => new UrlReferrerDb
            {
                ChannelId = urlReferrer.ChannelId,
                Host      = urlReferrer.Host,
                IsDeleted = false
            },
                dbValue => new UrlReferrerDb
            {
                IsDeleted = false,
                ChannelId = urlReferrer.ChannelId ?? dbValue.ChannelId
            },
                () => new UrlReferrerDb
            {
                Host = urlReferrer.Host
            }
                );

            _distributedCache.Delete(WhiteListCacheKey);
        }
        public async Task <bool> UpdateAsync(Channel channel)
        {
            if (channel.Id == 0)
            {
                throw new ArgumentException(nameof(channel.Id));
            }

            var channelDb = _mapper.Map <ChannelDb>(channel);

            var result = await _dbContext.UpdateAsync(channelDb);

            var updated = result == 1;

            if (updated)
            {
                _distributedCache.Delete(GetChannelIdKey(channel.Id));
            }

            return(updated);
        }