Esempio n. 1
0
 private static void ValidateImageSearchParams(ImageSearchParameters parameters, StringBuilder message)
 {
     if (string.IsNullOrWhiteSpace(parameters.Url))
     {
         message.AppendLine("Image url cannot be empty");
     }
 }
Esempio n. 2
0
        public static bool ValidateImageSearch(ImageSearchParameters parameters, int results, int page, out string message)
        {
            var messages = new StringBuilder();

            ValidatePagination(results, page, messages);
            ValidateImageSearchParams(parameters, messages);
            ValidateAdvancedSearchParams(parameters, messages, true);
            message = messages.ToString();
            return(message.Length == 0);
        }
Esempio n. 3
0
        public IActionResult IndexGet(ImageSearchParameters imageSearchParameters)
        {
            if (!string.IsNullOrEmpty(imageSearchParameters.Query))
            {
                ImageSearchClient client       = new ImageSearchClient(new Microsoft.Azure.CognitiveServices.Search.ImageSearch.ApiKeyServiceClientCredentials(_config["Keys:BingSearch"]));
                Images            imageResults = client.Images.SearchAsync(query: imageSearchParameters.Query, offset: imageSearchParameters.Offset, count: imageSearchParameters.Count).Result;

                TempData.Put("Images", imageResults);
            }

            return(View("~/Views/Projects/BingSearch/Index.cshtml", imageSearchParameters));
        }
Esempio n. 4
0
        public IActionResult ImageSearch([FromBody] ImageSearchParameters parameters, int results = 20, int start = 0)
        {
            if (!_searchService.CanImageSearch())
            {
                return(StatusCode((int)HttpStatusCode.ServiceUnavailable));
            }

            parameters.Fields = new List <string> {
                "Image"
            };

            if (!ValidationHelper.ValidateImageSearch(parameters, results, start, out string message))
            {
                return(BadRequest(message));
            }

            var result = _searchService.ImageSearch(parameters, results, start);

            return(result != null?Ok(result) : StatusCode((int)HttpStatusCode.ServiceUnavailable));
        }
Esempio n. 5
0
        public ImageSearchResult ImageSearch(ImageSearchParameters parameters, int results, int start)
        {
            var imageTags = _imageDetectService.GetImageTags(parameters.Url).Result;

            if (imageTags == null)
            {
                return(null);
            }
            if (string.IsNullOrWhiteSpace(imageTags))
            {
                return(new ImageSearchResult());
            }

            if (!parameters.SearchSimilarities)
            {
                imageTags = $"\"{imageTags.Replace(" AND ", " ")}\"";
            }

            return(new ImageSearchResult(Search(GetAdvancedQuery, imageTags, parameters, results, start))
            {
                Tags = imageTags
            });
        }