public async Task UploadAsync() { FiltersResult FilterRes = new FiltersResult(); rc = new RulesCreator(_reqEx); string trigger = null; string filters = null; string fields; string operators; string values; bool working; var result = rc.CreateMainCondition("Результаты", "3", ">", null, 1); trigger = result.Item1; filters = result.Item2; try { await rc.UploadAsync(_acc, trigger, "test", "ADSET", filters, FilterRes.Names.FirstOrDefault(x => x.Value == "Сегодня").Key); working = true; } catch (Exception ex) { working = false; } Assert.IsTrue(working); }
internal static FiltersResult GetTagFilters(string searcherName, string tagGroup, string tagName) { var filtersResult = new FiltersResult(); var lookQuery = new LookQuery(searcherName) { TagQuery = new TagQuery() }; if (!string.IsNullOrWhiteSpace(tagGroup) && string.IsNullOrWhiteSpace(tagName)) // only have the group to query { //use raw query looking for newly indexed field(in look 0.33.0) // TODO: update look to handle tags like "colour:*" lookQuery.RawQuery = "Look_TagGroup_" + tagGroup + ":1"; } else if (!string.IsNullOrWhiteSpace(tagName)) // we have a specifc tag { lookQuery.TagQuery.Has = new LookTag(tagGroup, tagName); } filtersResult.Aliases = lookQuery .Search() .Matches .Select(x => x.Alias) .Distinct() .OrderBy(x => x) .ToArray(); return(filtersResult); }
internal static FiltersResult GetLocationFilters(string searcherName) { var filtersResult = new FiltersResult(); filtersResult.Aliases = new LookQuery(searcherName) { LocationQuery = new LocationQuery() } .Search() .Matches .Select(x => x.Alias) .Distinct() .OrderBy(x => x) .ToArray(); return(filtersResult); }
internal static FiltersResult GetFilters(string searcherName) { var filtersResult = new FiltersResult(); // TODO: extend Look to have a public NodeFacetQuery (this will facet on culture, alias and type, returning counts for each) ? filtersResult.Aliases = new LookQuery(searcherName) { NodeQuery = new NodeQuery() } .Search() .Matches .Select(x => x.Alias) .Distinct() .OrderBy(x => x) .ToArray(); return(filtersResult); }
internal static FiltersResult GetDetachedFilters(string searcherName, PublishedItemType nodeType) { var filtersResult = new FiltersResult(); filtersResult.Aliases = new LookQuery(searcherName) { NodeQuery = new NodeQuery() { Type = nodeType, DetachedQuery = DetachedQuery.OnlyDetached } } .Search() .Matches .Select(x => x.Alias) .Distinct() .OrderBy(x => x) .ToArray(); return(filtersResult); }
public FiltersResult Filters([FromUri] FiltersParam param) { if (param == null) { throw new ArgumentNullException("param"); } WebPartner partner = UserToolsProvider.GetPartner(param); if (!(param.StartPoint.HasValue || (param.StartPointAlias == null))) { param.sp = new int?(CatalogProvider.GetGeoPointIdByAlias(param.StartPointAlias)); } object[] args = new object[5]; args[0] = param.Language; args[1] = partner.id; args[2] = param.StartPoint.HasValue ? param.StartPoint.ToString() : "-"; int?destinationState = param.DestinationState; args[3] = destinationState.HasValue ? (destinationState = param.DestinationState).ToString() : "-"; args[4] = param.WithoutPrice; string key = string.Format("cache_filterResult[ln:{0}][p:{1}][sp:{2}][st:{3}][wp:{4}]", args); FiltersResult result = HttpContext.Current.Cache[key] as FiltersResult; if ((result == null) || Settings.IsCacheDisabled) { result = new FiltersResult(); DateTime?startDate = null; TimeSpan?minDuration = null; List <CatalogExcursionMinPrice> catalog = ExcursionProvider.FindExcursions(param.Language, partner.id, startDate, null, null, param.StartPoint, null, null, null, param.DestinationState.HasValue ? new int[] { param.DestinationState.Value } : null, null, minDuration, null, null, param.WithoutPrice); result.categorygroups = ExcursionProvider.BuildFilterCategories(catalog, null); result.destinations = ExcursionProvider.BuildFilterDestinations(catalog, null); result.languages = ExcursionProvider.BuildFilterLanguages(catalog, null); result.durations = ExcursionProvider.BuildFilterDurations(catalog); HttpContext.Current.Cache.Add(key, result, null, DateTime.Now.AddMinutes(10.0), Cache.NoSlidingExpiration, CacheItemPriority.Normal, null); } return(result); }