private async Task <string> SearchBingAsync(string searchTerm)
        {
            var searchOptions = new BingImageSearchOptions
            {
                Aspect    = BingImageAspect.Wide,
                Count     = 1,
                ImageType = BingImageType.Photo,
                MinHeight = 200
            };
            var query        = $"\"Star Wars\" \"{searchTerm}\" -lego -blocks -minecraft";
            var imageResults = await SearchAsync(query, searchOptions);

            var firstImageResult = imageResults.Value.FirstOrDefault();
            var imageUrl         = firstImageResult?.ContentUrl;

            return(imageUrl);
        }
        protected async Task <Images> SearchAsync(string searchTerm, BingImageSearchOptions searchOptions = null)
        {
            Images imageResults;

            if (searchOptions == null)
            {
                imageResults = await _client.Images.SearchAsync(searchTerm);
            }
            else
            {
                var aspect = Enum.GetName(typeof(BingImageAspect), searchOptions.Aspect);
                var color  = searchOptions.Color == BingImageColor.All
                    ? null
                    : Enum.GetName(typeof(BingImageColor), searchOptions.ImageType);
                var imageType = searchOptions.ImageType == BingImageType.All
                    ? null
                    : Enum.GetName(typeof(BingImageType), searchOptions.ImageType);
                var size = Enum.GetName(typeof(BingImageSize), searchOptions.Size);

                imageResults = await _client.Images.SearchAsync(
                    searchTerm,
                    aspect : aspect,
                    color : color,
                    count : searchOptions.Count,
                    height : searchOptions.Height,
                    imageType : imageType,
                    maxHeight : searchOptions.MaxHeight,
                    maxWidth : searchOptions.MaxWidth,
                    minHeight : searchOptions.MinHeight,
                    minWidth : searchOptions.MinWidth,
                    offset : searchOptions.Offset,
                    size : size,
                    width : searchOptions.Width
                    );
            }

            return(imageResults);
        }