public ViewResult Search(string query, AdvancedSearchOptions opt) { var q = (query ?? "").Trim().ToLower(); var options = opt ?? new AdvancedSearchOptions(); IEnumerable <Monster> results; if (string.IsNullOrWhiteSpace(query)) { results = null; } else { var categories = options.Categories ?? new string[0]; results = MonstersRepository.Get().Monsters .Where(m => (m.Name.ToLower().Contains(q) || m.Description.ToLower().Contains(q)) && (!options.IsDangerous || m.IsDangerous) && (categories.All(cat => m.Categories.Contains(cat)))); } this.ViewBag.AllCategories = MonstersRepository.Get().Categories; return(View("Search", new SearchFormModel() { SearchString = q, Options = options, Results = results })); }
protected static AdvancedSearchOptions GetAdvancedSearchOptions(UriHandlerData data) { var advanced = new AdvancedSearchOptions(); foreach (var item in data.Queries) { var b = item.Value.QueryValueAsBoolean(); switch (item.Key) { case "f_sname": advanced.SearchName = b; break; case "f_stags": advanced.SearchTags = b; break; case "f_sdesc": advanced.SearchDescription = b; break; case "f_storr": advanced.SearchTorrentFilenames = b; break; case "f_sto": advanced.GalleriesWithTorrentsOnly = b; break; case "f_sdt1": advanced.SearchLowPowerTags = b; break; case "f_sdt2": advanced.SearchDownvotedTags = b; break; case "f_sh": advanced.ShowExpungedGalleries = b; break; case "f_sr": advanced.SearchMinimumRating = b; break; case "f_srdd": advanced.MinimumRating = item.Value.QueryValueAsInt32(); break; case "skip_mastertags": advanced.SkipMasterTags = b; break; } } return(advanced); }
protected static AdvancedSearchOptions GetAdvancedSearchOptions(UriHandlerData data) => AdvancedSearchOptions.ParseUri(data);
public CategorySearchResult Search(Category filter, AdvancedSearchOptions advancedSearch) => Client.Current.Search(ToSearchTerm(), filter, advancedSearch);
public AdvancedSearchResult Search(string keyword, Category category, AdvancedSearchOptions advancedSearch) { return(AdvancedSearchResult.Search(keyword, category, advancedSearch)); }
public AdvancedSearchResult Search(string uploader, string keyword, Category category, AdvancedSearchOptions advancedSearch) { if (string.IsNullOrWhiteSpace(uploader)) { throw new ArgumentNullException(nameof(uploader)); } uploader = uploader.Trim(); var formarttedUploader = uploader.IndexOf(' ') >= 0 ? $"uploader:\"{uploader}\" " : $"uploader:{uploader} "; return(Search(formarttedUploader + keyword, category, advancedSearch)); }
/// <summary> /// Advanced search /// </summary> /// <param name="searchOptions">Advanced search options</param> /// <returns>List of stations</returns> public async Task <List <StationInfo> > AdvancedAsync(AdvancedSearchOptions searchOptions) { var json = await _httpClient.GetAsync($"stations/search?{Converters.GetQueryString(searchOptions)}"); return(_converters.ToStationsList(json)); }
public AdvancedSearchResult Search(string uploader, string keyword, Category category, AdvancedSearchOptions advancedSearch) { if (string.IsNullOrWhiteSpace(uploader)) { throw new ArgumentNullException(nameof(uploader)); } uploader = uploader.Trim(); if (uploader.IndexOf(' ') >= 0) { keyword = $"uploader:\"{uploader}\" " + keyword; } else { keyword = $"uploader:{uploader} " + keyword; } return(Search(keyword, category, advancedSearch)); }
public WatchedSearchResult SearchWatched(string keyword, Category category, AdvancedSearchOptions advancedSearch) => WatchedSearchResult.Search(keyword, category, advancedSearch);