/// <summary> /// Gets the Localized name for the SearchSortBy options. /// </summary> /// <param name="thisObject">Current Sort By type</param> /// <returns>Search Sort By name string</returns> public static string GetName(this SearchSortBy thisObject) { string searchSortByName = string.Empty; switch (thisObject) { case SearchSortBy.Rating: searchSortByName = Resources.SearchRatingFilter; break; case SearchSortBy.Categories: searchSortByName = Resources.SearchCategoriesFilter; break; case SearchSortBy.DistributedBy: searchSortByName = Resources.SearchDistributedByFilter; break; case SearchSortBy.ContentType: searchSortByName = Resources.SearchContentTypeFilter; break; case SearchSortBy.None: default: break; } return(searchSortByName); }
public static string GetSortStringFromEnum(SearchSortBy sort) { string sortBy = String.Empty; switch (sort) { case SearchSortBy.Oldest: sortBy = "Old"; break; case SearchSortBy.A_to_Z: sortBy = "A-Z"; break; case SearchSortBy.Z_to_A: sortBy = "Z-A"; break; case SearchSortBy.Salary_High_to_Low: sortBy = "SalaryHighToLow"; break; case SearchSortBy.Salary_Low_to_High: sortBy = "SalaryLowToHigh"; break; case SearchSortBy.Recent: sortBy = "Recent"; break; default: sortBy = "Relevance"; break; } return(sortBy); }
public static SearchSortBy GetSortEnumFromString(string sort) { SearchSortBy sortBy = SearchSortBy.Recent; switch (sort) { case "Old": sortBy = SearchSortBy.Oldest; break; case "A-Z": sortBy = SearchSortBy.A_to_Z; break; case "Z-A": sortBy = SearchSortBy.Z_to_A; break; case "SalaryHighToLow": sortBy = SearchSortBy.Salary_High_to_Low; break; case "SalaryLowToHigh": sortBy = SearchSortBy.Salary_Low_to_High; break; case "Recent": sortBy = SearchSortBy.Recent; break; default: sortBy = SearchSortBy.Relevance; break; } return(sortBy); }
/// <summary> /// This returns the results for Search Result View /// </summary> /// <param name="searchText">search Text</param> /// <param name="selectedTab">selected Tab Text</param> /// <returns>EntityViewModel collection</returns> private async Task<JsonResult> GetSearchResults(string searchText, string selectedTab, int currentPage, SearchViewModel searchQuery, SearchSortBy sortBy = SearchSortBy.Rating) { ViewData["SearchText"] = searchText = (string.IsNullOrWhiteSpace(searchText) || searchText.ToLower(CultureInfo.CurrentCulture).Equals(Resources.DefaultSearchText.ToLower(CultureInfo.CurrentCulture))) ? string.Empty : searchText; ViewData["SearchMessage"] = string.Empty; IEnumerable<EntityViewModel> results = null; var pageDetails = new PageDetails(currentPage); if (!string.IsNullOrWhiteSpace(searchText)) { pageDetails.ItemsPerPage = searchQuery.ResultsPerPage; var searchQueryDetails = new SearchQueryDetails(); if (searchQuery.ContentTypeFilter != null) { foreach (var contentFilterValue in searchQuery.ContentTypeFilter.Split(',')) { searchQueryDetails.ContentTypeFilter.Add(Convert.ToInt32(contentFilterValue, CultureInfo.CurrentCulture)); } } if (searchQuery.CategoryFilter != null) { foreach (var categoryFilterValue in searchQuery.CategoryFilter.Split(',')) { searchQueryDetails.CategoryFilter.Add(Convert.ToInt32(categoryFilterValue, CultureInfo.CurrentCulture)); } } searchQueryDetails.SortBy = searchQuery.SortBy.ToEnum<string, SearchSortBy>(sortBy); results = await _searchService.SimpleSearch(searchText.Replace("'", "''"), CurrentUserId, pageDetails, searchQueryDetails); // If the total count of items are less than the selected per page items, select previous per page items //ViewData["CurrentPage"] = currentPage; //ViewData["TotalPage"] = pageDetails.TotalPages; //ViewData["TotalCount"] = pageDetails.TotalCount; } return Json(new{ searchResults=results, pageInfo = pageDetails }); }
/// <summary> /// This returns the results for Search Result View /// </summary> /// <param name="searchText">search Text</param> /// <param name="selectedTab">selected Tab Text</param> /// <returns>EntityViewModel collection</returns> private async Task <JsonResult> GetSearchResults(string searchText, string selectedTab, int currentPage, SearchViewModel searchQuery, SearchSortBy sortBy = SearchSortBy.Rating) { ViewData["SearchText"] = searchText = (string.IsNullOrWhiteSpace(searchText) || searchText.ToLower(CultureInfo.CurrentCulture).Equals(Resources.DefaultSearchText.ToLower(CultureInfo.CurrentCulture))) ? string.Empty : searchText; ViewData["SearchMessage"] = string.Empty; IEnumerable <EntityViewModel> results = null; var pageDetails = new PageDetails(currentPage); if (!string.IsNullOrWhiteSpace(searchText)) { pageDetails.ItemsPerPage = searchQuery.ResultsPerPage; var searchQueryDetails = new SearchQueryDetails(); if (searchQuery.ContentTypeFilter != null) { foreach (var contentFilterValue in searchQuery.ContentTypeFilter.Split(',')) { searchQueryDetails.ContentTypeFilter.Add(Convert.ToInt32(contentFilterValue, CultureInfo.CurrentCulture)); } } if (searchQuery.CategoryFilter != null) { foreach (var categoryFilterValue in searchQuery.CategoryFilter.Split(',')) { searchQueryDetails.CategoryFilter.Add(Convert.ToInt32(categoryFilterValue, CultureInfo.CurrentCulture)); } } searchQueryDetails.SortBy = searchQuery.SortBy.ToEnum <string, SearchSortBy>(sortBy); results = await _searchService.SimpleSearch(searchText.Replace("'", "''"), CurrentUserId, pageDetails, searchQueryDetails); // If the total count of items are less than the selected per page items, select previous per page items //ViewData["CurrentPage"] = currentPage; //ViewData["TotalPage"] = pageDetails.TotalPages; //ViewData["TotalCount"] = pageDetails.TotalCount; } return(Json(new{ searchResults = results, pageInfo = pageDetails })); }