public async Task <IEnumerable <TelevisionSeries> > GetMediaAsync(TelevisionSeriesFilterParameters filterParameters, bool reload = false)
        {
            if (reload || _televisionSeriesCache == null)
            {
                _televisionSeriesCache = (await _televisionSeriesProvider.GetTelevisionSeriesAsync())?.ToList();
            }

            if (_televisionSeriesCache == null || !_televisionSeriesCache.Any())
            {
                return(Enumerable.Empty <TelevisionSeries>());
            }

            var results = _televisionSeriesCache.Select(x => x).ToList();

            FilterUniversalMediaAttributes(results, filterParameters);

            if (!string.IsNullOrEmpty(filterParameters.Creator))
            {
                results.RemoveAll(x => NoCreatorsMatchFilter(filterParameters, x));
            }

            return(results);
        }
 private static bool NoCreatorsMatchFilter(TelevisionSeriesFilterParameters filterParameters, TelevisionSeries televisionSeries)
 {
     return(!televisionSeries.Creators.Any(director => director.ToLowerInvariant().Contains(filterParameters.Creator.ToLowerInvariant())));
 }