public async Task <QueryResult <Region> > GetRegionsAsync(RegionQuery queryObj) { var result = new QueryResult <Region>(); var query = context.Regions.AsQueryable(); // skip world region query = query.Where(r => r.Name != RegionConstants.WorldRegionName); query = query.ApplyFiltering(queryObj); var columnsMap = new Dictionary <string, Expression <Func <Region, object> > >() { ["parentRegionId"] = v => v.ParentRegionId, }; query = query.ApplyOrdering(queryObj, columnsMap); result.TotalItems = await query.CountAsync(); //query = query.ApplyPaging(queryObj); result.Items = await query.ToListAsync(); return(result); }
public int Region_GetCount(string serializedQuery) { RegionQuery query = RegionQuery.SerializeHelper.FromXml( serializedQuery, typeof(RegionQuery), AllKnownTypes) as RegionQuery; return(query.ExecuteScalar <int>()); }
public static async void Search(CustomSearchControl SearchControl) { var client = Helper.getServiceClient(); RegionQuery query = new RegionQuery(); //by default we have an empty query if (SearchControl.OptionOne.IsChecked == true) { query = new RegionQuery() { RegionCode = SearchControl.SearchTextBox.Text }; } else if (SearchControl.OptionTwo.IsChecked == true) { query = new RegionQuery() { RegionName = SearchControl.SearchTextBox.Text }; } int pagesize = SearchControl.PageSize; int pagePosition = SearchControl.PagePosition; var response = await client.QueryRegionAsync(query, pagesize, pagePosition); //No response; exit if (response == null) { MessageBox.Show("Service isn't responding, please try again later", "Message", MessageBoxButton.OK, MessageBoxImage.Information); return; } SearchControl.ResultCount = response.TotalResultCount; //Fill the datagrid with the results SearchControl.ResultsGrid.ItemsSource = new ObservableCollection <FIN_Region>(response.Result.ToList <FIN_Region>());; }
public RegionCollection Region_LoadByDynamic(string serializedQuery) { RegionQuery query = RegionQuery.SerializeHelper.FromXml( serializedQuery, typeof(RegionQuery), AllKnownTypes) as RegionQuery; RegionCollection coll = new RegionCollection(); coll.es.IsLazyLoadDisabled = true; coll.Load(query); return(coll); }
public RegionProxyStub Region_QueryForEntity(string serializedQuery) { RegionQuery query = RegionQuery.SerializeHelper.FromXml( serializedQuery, typeof(RegionQuery), AllKnownTypes) as RegionQuery; Region obj = new Region(); if (obj.Load(query)) { return(obj); } return(null); }
public RegionCollectionProxyStub Region_QueryForCollection(string serializedQuery) { RegionQuery query = RegionQuery.SerializeHelper.FromXml( serializedQuery, typeof(RegionQuery), AllKnownTypes) as RegionQuery; RegionCollection coll = new RegionCollection(); if (coll.Load(query)) { return(coll); } return(null); }
public async Task Search_Get_CanPerformIS24ChannelSearch() { RestClient.RespondWith(r => { Assert.Equal(Method.GET, r.Method); var url = "https://rest.sandbox-immobilienscout24.de/restapi/api/search/v1.0/search/region"; Assert.Equal(url, RestClient.BuildUri(r).GetLeftPart(UriPartial.Path)); var parms = RestClient.BuildUri(r).ParseQueryString(); Assert.Equal("is24", parms["channel"]); return(new IS24RestApi.Search.ResultList.Resultlist { ResultlistEntries = { new ResultlistEntries { ResultlistEntry = { new ResultlistEntry { RealEstate = new ApartmentRent{ Id = 4711 } }, new ResultlistEntry { RealEstate = new ApartmentRent{ Id = 4712 } }, } } } }); }); var query = new RegionQuery { RealEstateType = Common.RealEstateType.APARTMENT_RENT, GeoCodeId = new GeoCodeId { Continent = 1, Country = 2, Region = 3, City = 4, Quarter = 5 }, Features = { Feature.Grouping, Feature.MatchCount }, Channel = Channel.IS24Channel }; var res = await Client.Search(query, 4, 10); }
public static List <RegionResponse> GetRegionList(RegionQuery query) { Hashtable ht = new Hashtable(); List <StatementCondition> list = new List <StatementCondition>(); if (query.RegionIds != null & query.RegionIds.Count > 0) { ht.Add("RegionIds", DbUtils.ToWhereInParam(query.RegionIds)); list.Add(new StatementCondition("RegionIds", true)); } if (query.ParentId.HasValue) { ht.Add("ParentId", query.ParentId.Value); list.Add(new StatementCondition("ParentId", true)); } if (!string.IsNullOrEmpty(query.Name)) { ht.Add("Name", query.Name); list.Add(new StatementCondition("Name", true)); } return(DataSources.Default.QueryCollection <RegionResponse>("GetRegion", null, list, ht).ToList()); }
protected virtual List<Record> Search(RegionQuery window, Node node) { List<Record> records = new List<Record>(); foreach (NodeEntry nodeEntry in node.NodeEntries) { if (window is RangeQuery && Overlaps((RangeQuery)window, nodeEntry.MinimumBoundingBox) || window is WindowQuery && Overlaps((WindowQuery)window, nodeEntry.MinimumBoundingBox)) if (nodeEntry is LeafEntry) records.Add(Cache.LookupRecord(nodeEntry.Child)); else records.AddRange(Search(window, Cache.LookupNode(nodeEntry.Child))); } return records; }
public static IQueryable <Region> ApplyFiltering(this IQueryable <Region> query, RegionQuery queryObj) { if (queryObj.ParentRegionId.HasValue) { query = query.Where(v => v.ParentRegionId == queryObj.ParentRegionId.Value); } return(query); }
public static List <RegionResponse> GetRegionList(RegionQuery query) { var list = ConfigDal.GetRegionList(query); return(list); }
public async Task Search_Get_CanPerformRegionSearch() { RestClient.RespondWith(r => { Assert.Equal(Method.GET, r.Method); var url = "https://rest.sandbox-immobilienscout24.de/restapi/api/search/v1.0/search/region"; Assert.Equal(url, RestClient.BuildUri(r).GetLeftPart(UriPartial.Path)); var parms = RestClient.BuildUri(r).ParseQueryString(); Assert.Equal("grouping,matchcount", parms["features"]); Assert.Equal("apartmentrent", parms["realestatetype"]); Assert.Equal("1002003004005", parms["geocodes"]); Assert.Equal("-1000.00", parms["price"]); Assert.Equal("rentpermonth", parms["pricetype"]); Assert.Equal("true", parms["freeofcourtageonly"]); Assert.Equal("-distance", parms["sort"]); Assert.Equal("4", parms["pagenumber"]); Assert.Equal("10", parms["pagesize"]); Assert.Equal("balcony,garden,lift", parms["equipment"]); Assert.Equal("test", parms["channel"]); return(new IS24RestApi.Search.ResultList.Resultlist { ResultlistEntries = { new ResultlistEntries { ResultlistEntry = { new ResultlistEntry { RealEstate = new ApartmentRent{ Id = 4711 } }, new ResultlistEntry { RealEstate = new ApartmentRent{ Id = 4712 } }, } } } }); }); var query = new RegionQuery { RealEstateType = Common.RealEstateType.APARTMENT_RENT, GeoCodeId = new GeoCodeId { Continent = 1, Country = 2, Region = 3, City = 4, Quarter = 5 }, Features = { Feature.Grouping, Feature.MatchCount }, Parameters = new Dictionary <string, object> { { "Price", new DecimalRange { Max = 1000 } }, { "PriceType", "rentpermonth" }, { "FreeOfCourtageOnly", true }, { "Equipment", new[] { "balcony", "garden", "lift" } } }, Sort = Sorting.Distance, SortDirection = ListSortDirection.Descending, Channel = new GroupChannel("test") }; var res = await Client.Search(query, 4, 10); Assert.Equal(2, res.ResultlistEntries[0].ResultlistEntry.Count); Assert.Equal(4711, res.ResultlistEntries[0].ResultlistEntry[0].RealEstate.Id); Assert.Equal(4712, res.ResultlistEntries[0].ResultlistEntry[1].RealEstate.Id); }