public IEnumerable <ImageDetails> Search(string searchTerm) { var data = _imageDetailsRepository.GetAllQ().Where(x => x.Author.Contains(searchTerm, StringComparison.InvariantCultureIgnoreCase) || x.Camera.Contains(searchTerm, StringComparison.InvariantCultureIgnoreCase) || x.Tags.Contains(searchTerm, StringComparison.InvariantCultureIgnoreCase) || x.Id.Contains(searchTerm, StringComparison.InvariantCultureIgnoreCase) ); return(data); }
public async Task RefreshImagesData() { var pageNumber = 1; Images currentPage; var idsList = _imageDetailsRepository.GetAllQ().Select(x => x.Id).ToList(); do { var imagesResponse = await Get($"{_settings.APIEndpoint}/{Constants.APIMethods.Images}", $"{Constants.APIParameters.Images.Page}={pageNumber}", typeof(Images)); if (!imagesResponse.Success) { break; } currentPage = imagesResponse.Response as Images; foreach (var image in currentPage.Pictures) { var imageDetailsResponse = await Get($"{_settings.APIEndpoint}/{Constants.APIMethods.Images}/{image.Id}", null, typeof(ImageDetails)); if (!imageDetailsResponse.Success) { break; } var pictureDetails = imageDetailsResponse.Response as ImageDetails; var containsEntity = idsList.Contains(image.Id); if (containsEntity) { await _imageDetailsRepository.UpdateAsync(pictureDetails); idsList.Remove(image.Id); } else { await _imageDetailsRepository.AddAsync(pictureDetails); await _imageDetailsRepository.CommitAsync(); } } pageNumber++; }while (currentPage != null && currentPage.HasMore); foreach (var id in idsList) { _imageDetailsRepository.Delete(id); } }
public IActionResult Index(string searchTerm) { if (!String.IsNullOrEmpty(searchTerm) && searchTerm.Length >= 3) { var data = _imageDetailsRepository.GetAllQ().Where(x => x.Author.Contains(searchTerm, StringComparison.InvariantCultureIgnoreCase) || x.Camera.Contains(searchTerm, StringComparison.InvariantCultureIgnoreCase) || x.Tags.Contains(searchTerm, StringComparison.InvariantCultureIgnoreCase) || x.Id.Contains(searchTerm, StringComparison.InvariantCultureIgnoreCase) ); return(View(data)); } return(View()); }