public async Task <IActionResult> Index(BlogSearchViewModel model) { var result = await _service.Search(model.ToSearchModel()); if (IsAjaxRequest()) { return(PartialView("_List", result)); } return(View(result)); }
public JsonResult GetSuggestions(BlogSearchViewModel viewModel) { var suggestions = new List <string>(); if (!String.IsNullOrEmpty(viewModel?.SearchTerm)) { return(Json(_searchService.GetSearchSuggestions(viewModel.SearchTerm))); } return(Json(new { })); }
public PartialViewResult SubmitSearch(BlogSearchViewModel viewModel) { var resultsViewModel = new SearchResultsViewModel(); var results = _searchService.SearchBlogPosts(viewModel.SearchTerm); foreach (var result in results) { resultsViewModel.Results.Add(new SearchResultViewModel() { Id = result.ItemId.ToString(), Title = result.Title, Url = result.Url }); } return(PartialView("~/Views/Search/_SearchResults.cshtml", resultsViewModel)); }
public IActionResult Search(BlogSearchViewModel model) { List <BlogItem> blogs = _blogProvider.Search(model.TagName); if (blogs.Count == 0) { ModelState.AddModelError(String.Empty, Languages.LanguageStrings.NoBlogsFoundMatchingTags); } if (ModelState.IsValid) { BlogPostsViewModel searchModel = GetBlogPostViewModel(blogs); searchModel.Breadcrumbs.Add(new BreadcrumbItem(model.TagName, $"/{Name}/{nameof(Search)}/{model.TagName}/", false)); return(View(nameof(Index), searchModel)); } return(View(new BlogSearchViewModel(GetModelData()))); }
public PartialViewResult SubmitSearch(BlogSearchViewModel viewModel) { Func <IEnumerable <string>, string> stringify = (list) => { StringBuilder sb = new StringBuilder(); foreach (var item in list) { sb.Append(String.Format("{0}; ", item)); } return(sb.ToString()); }; var resultsViewModel = new SearchResultsViewModel(); var facetedResults = _searchService.SearchBlogPostsWithFacets(viewModel.SearchTerm, null); foreach (var result in facetedResults.Results) { resultsViewModel.Results.Add(new SearchResultViewModel() { Id = result.ItemId.ToString(), Title = result.Title, Url = result.Url, Body = result.Body, CategoryList = stringify(result.Categories) }); } foreach (var facet in facetedResults.Facets) { resultsViewModel.Facets.Add(new FacetViewModel() { Name = facet.Name, Count = facet.Count }); } return(PartialView("~/Views/Search/_SearchResults.cshtml", resultsViewModel)); }
public IActionResult Search() { BlogSearchViewModel model = new BlogSearchViewModel(GetModelData()); return(View(model)); }