public static DataServiceQuery <TEntity> WhereIdIn <TEntity>(this DataServiceQuery <TEntity> service, IEnumerable <long> entityIds) { var idFilterList = entityIds.Select(id => $"(Id eq {id})"); var idFilter = string.Join(" or ", idFilterList); var query = service.AddQueryOption("$filter", idFilter); return(query); }
public static int TotalCount <TElement>(this DataServiceQuery <TElement> q) { var query = q.AddQueryOption("rf.inlinecount", "allpages"); var response = query.Execute() as QueryOperationResponse <TElement>; int count = -1; int.TryParse(response.Headers.FirstOrDefault(h => h.Key == "Total-Inline-Count").Value, out count); return(count); }
public static int IndexOf <TElement>(this DataServiceQuery <TElement> q, FilterParameterCollection keyCondition) { var query = q.AddQueryOption("rf.indexof", HttpUtility.UrlEncode(keyCondition.JsonSerialize(), Encoding.GetEncoding(1251))); var response = query.Execute() as QueryOperationResponse <TElement>; int idx = -1; int.TryParse(response.Headers.FirstOrDefault(h => h.Key == "Index-Of-Model").Value, out idx); return(idx); }
public DataServiceQuery <T> AddContinutationToQuery <T>(DataServiceQuery <T> query) { if (!string.IsNullOrWhiteSpace(NextPartition) && !string.IsNullOrWhiteSpace(NextRowKey)) { return(query.AddQueryOption("NextPartitionKey", NextPartition).AddQueryOption("NextRowKey", NextRowKey)); } return(query); }
public IDataServiceQuery <T> CreateQuery <T>(string entitySetName, IDictionary <string, object> queryOptions) { DataServiceQuery <T> query = this._context.CreateQuery <T>(entitySetName); foreach (KeyValuePair <string, object> pair in queryOptions) { query = query.AddQueryOption(pair.Key, pair.Value); } return(new DataServiceQueryWrapper <T>(this, query)); }
public string GenerateQueryUri <T>(string entitySet, IDictionary <string, object> entityParams, IDictionary <string, object> filters) where T : class { UriOperationParameter[] myParams = null; DataServiceQuery <T> query = null; if (!this.isConnected) { return(null); } if (string.IsNullOrEmpty(entitySet)) { return(null); } if (entityParams == null) { query = this.container.CreateQuery <T>(entitySet); } else { int count = entityParams.Count; if (count > 0) { myParams = new UriOperationParameter[count]; int i = 0; foreach (string paramKey in entityParams.Keys) { // check for null value here myParams[i++] = new UriOperationParameter(paramKey, entityParams[paramKey]); } query = this.container.CreateFunctionQuery <T>("", entitySet, false, myParams); } } if (query == null) { return(null); } if (filters != null) { foreach (string filter in filters.Keys) { object filterValue = filters[filter]; if (filterValue != null) { // Immutability here ? query = query.AddQueryOption(filter, filterValue); } } } return(query.ToString()); }
/// <summary> /// </summary> /// <param name="Query">Bing search query Sample Values : xbox</param> /// <param name="Options">Specifies options for this request for all Sources. Valid values are: DisableLocationDetection, EnableHighlighting. Sample Values : EnableHighlighting</param> /// <param name="Market">Market. Note: Not all Sources support all markets. Sample Values : en-US</param> /// <param name="Adult">Adult setting is used for filtering sexually explicit content Sample Values : Moderate</param> /// <param name="Latitude">Latitude Sample Values : 47.603450</param> /// <param name="Longitude">Longitude Sample Values : -122.329696</param> /// <param name="NewsLocationOverride">Overrides Bing location detection. This parameter is only applicable in en-US market. Sample Values : US.WA</param> /// <param name="NewsCategory">The category of news for which to provide results Sample Values : rt_Business</param> /// <param name="NewsSortBy">The sort order of results returned Sample Values : Date</param> public DataServiceQuery <NewsResult> News(String Query, String Options, String Market, String Adult, Double?Latitude, Double?Longitude, String NewsLocationOverride, String NewsCategory, String NewsSortBy) { if ((Query == null)) { throw new ArgumentNullException("Query", "Query value cannot be null"); } DataServiceQuery <NewsResult> query = base.CreateQuery <NewsResult>("News"); query = query.AddQueryOption("Query", string.Concat("\'", Uri.EscapeDataString(Query), "\'")); if ((Options != null)) { query = query.AddQueryOption("Options", string.Concat("\'", Uri.EscapeDataString(Options), "\'")); } if ((Market != null)) { query = query.AddQueryOption("Market", string.Concat("\'", Uri.EscapeDataString(Market), "\'")); } if ((Adult != null)) { query = query.AddQueryOption("Adult", string.Concat("\'", Uri.EscapeDataString(Adult), "\'")); } if (((Latitude != null))) { query = query.AddQueryOption("Latitude", Latitude.Value); } if (((Longitude != null))) { query = query.AddQueryOption("Longitude", Longitude.Value); } if ((NewsLocationOverride != null)) { query = query.AddQueryOption("NewsLocationOverride", string.Concat("\'", Uri.EscapeDataString(NewsLocationOverride), "\'")); } if ((NewsCategory != null)) { query = query.AddQueryOption("NewsCategory", string.Concat("\'", Uri.EscapeDataString(NewsCategory), "\'")); } if ((NewsSortBy != null)) { query = query.AddQueryOption("NewsSortBy", string.Concat("\'", Uri.EscapeDataString(NewsSortBy), "\'")); } return(query); }
// This is dependent on the Proxy class // // Apparently, 'T' and 'entityName' param can be of different names (e.g. Pais and Paises) public ObservableCollection <T> GetEntities <T>(string entityName, IDictionary <string, object> filters) where T : class { IEnumerable <T> result = null; if (string.IsNullOrEmpty(entityName)) { return(null); } if (!this.isConnected) { return(null); } try { // Paises.OrderBy(x => x.nombre).ToList(); //var list = this.container.CreateQuery<T>(entityName).ToList(); DataServiceQuery <T> query = this.container.CreateQuery <T>(entityName); // Country?$filter=Name eq 'USA' if (filters == null) { result = query.Execute(); } else { // Test this ... foreach (string filter in filters.Keys) { object filterValue = filters[filter]; if (filterValue != null) { // Immutability here ? query = query.AddQueryOption(filter, filterValue); } } result = query.Execute(); } // Synchronous operation ??? var list = result.ToList(); return(new ObservableCollection <T>(list)); } catch (Exception ex) // will this work for all types of errors? { this.errors.Add(ex); } return(null); }
/// <summary> /// </summary> /// <param name="Query">Bing search query Sample Values : xblox</param> /// <param name="Options">Specifies options for this request for all Sources. Valid values are: DisableLocationDetection, EnableHighlighting. Sample Values : EnableHighlighting</param> /// <param name="Market">Market. Note: Not all Sources support all markets. Sample Values : en-US</param> /// <param name="Adult">Adult setting is used for filtering sexually explicit content Sample Values : Moderate</param> /// <param name="Latitude">Latitude Sample Values : 47.603450</param> /// <param name="Longitude">Longitude Sample Values : -122.329696</param> public DataServiceQuery <SpellResult> SpellingSuggestions(String Query, String Options, String Market, String Adult, Double?Latitude, Double?Longitude) { if ((Query == null)) { throw new ArgumentNullException("Query", "Query value cannot be null"); } DataServiceQuery <SpellResult> query = base.CreateQuery <SpellResult>("SpellingSuggestions"); query = query.AddQueryOption("Query", string.Concat("\'", Uri.EscapeDataString(Query), "\'")); if ((Options != null)) { query = query.AddQueryOption("Options", string.Concat("\'", Uri.EscapeDataString(Options), "\'")); } if ((Market != null)) { query = query.AddQueryOption("Market", string.Concat("\'", Uri.EscapeDataString(Market), "\'")); } if ((Adult != null)) { query = query.AddQueryOption("Adult", string.Concat("\'", Uri.EscapeDataString(Adult), "\'")); } if (((Latitude != null))) { query = query.AddQueryOption("Latitude", Latitude.Value); } if (((Longitude != null))) { query = query.AddQueryOption("Longitude", Longitude.Value); } return(query); }
public List <Item> GetItems(string ModifiedDate) { string serviceODataURL = ConfigurationManager.AppSettings["NAVODATAUrl"]; string WS_User = ConfigurationManager.AppSettings["NAV_User"]; string WS_Pwd = ConfigurationManager.AppSettings["NAV_Pwd"]; string WS_Domain = ConfigurationManager.AppSettings["NAV_Domain"]; string Company = ConfigurationManager.AppSettings["Company"]; string serviceUri = string.Format(serviceODataURL + "/Company('{0}')", Company); List <Item> itemListB2B = new List <Item>(); try { DataServiceContext context = new DataServiceContext(new Uri(serviceUri)); NAV_ODATA.NAV theNav = new NAV_ODATA.NAV(new Uri(serviceUri)); theNav.Credentials = new System.Net.NetworkCredential(WS_User, WS_Pwd, WS_Domain); DataServiceQuery <NAV_ODATA.B2BArticoliWeb> q = theNav.CreateQuery <NAV_ODATA.B2BArticoliWeb>("B2BArticoliWeb"); if (ModifiedDate.Length > 0) { //OData Filter Expression ge = greater than or equal to string FilterValue = string.Format("Last_Date_Modified ge datetime'{0}' or Last_Movement_Date ge datetime'{0}'", ModifiedDate); q = q.AddQueryOption("$filter", FilterValue); } List <NAV_ODATA.B2BArticoliWeb> itemList = q.Execute().ToList(); foreach (NAV_ODATA.B2BArticoliWeb item in itemList) { Item a = new Item(); a.No = item.No; a.Description1 = item.Description; a.Description2 = item.Description_2; a.Inventory = item.Inventory; a.Lot = item.Quantità_Lotto; a.UnitOfMeasure = item.Base_Unit_of_Measure; a.ItemType = item.Linea; a.ItemBrand = item.Dimension_Value_Code; a.BrandDescription = item.Name; itemListB2B.Add(a); } } catch (Exception ex) { string exmsg = ex.Message; } return(itemListB2B); }
/// <summary> /// Applies the continuation to query. /// </summary> /// <param name="continuationToken">The continuation token.</param> /// <param name="localQuery">The local query.</param> /// <returns>The modified query.</returns> private static DataServiceQuery <TElement> ApplyContinuationToQuery(ResultContinuation continuationToken, DataServiceQuery <TElement> localQuery) { if (continuationToken != null) { if (continuationToken.NextPartitionKey != null) { localQuery = localQuery.AddQueryOption(TableServiceNextPartitionKey, continuationToken.NextPartitionKey); } if (continuationToken.NextRowKey != null) { localQuery = localQuery.AddQueryOption(TableServiceNextRowKey, continuationToken.NextRowKey); } if (continuationToken.NextTableName != null) { localQuery = localQuery.AddQueryOption(TableServiceNextTableName, continuationToken.NextTableName); } } return(localQuery); }
private static async Task GetAuthorsAndBooks(Container dsc) { DataServiceQuery <Author> query = dsc.CreateQuery <Author>("Authors"); var response = await query.AddQueryOption("$expand", "Books").ExecuteAsync() as QueryOperationResponse <Author>; foreach (Author author in response) { Console.WriteLine($"Author: {author.Name}"); foreach (Book book in author.Books) { Console.WriteLine($"Book: {book.Title}"); } } }
public List <SalesShipment> GetNAVShipments(string NAVInstanceName, string shipmentDateFilter) { try { string URL = Properties.Settings.Default[NAVInstanceName].ToString(); string WS_User = Properties.Settings.Default[NAVInstanceName + "_User"].ToString(); string WS_Pwd = Properties.Settings.Default[NAVInstanceName + "_Pwd"].ToString(); string WS_Domain = Properties.Settings.Default[NAVInstanceName + "_Domain"].ToString(); DataServiceContext context = new DataServiceContext(new Uri(URL)); NAVODATAWS.NAV NAV = new NAVODATAWS.NAV(new Uri(URL)); NAV.Credentials = new System.Net.NetworkCredential(WS_User, WS_Pwd, WS_Domain); DataServiceQuery <NAVODATAWS.ItemShipments> q = NAV.CreateQuery <NAVODATAWS.ItemShipments>("ItemShipments"); if (shipmentDateFilter != null) { string FilterValue = string.Format("Shipment_Date ge datetime'{0}'", shipmentDateFilter); q = q.AddQueryOption("$filter", FilterValue); } List <NAVODATAWS.ItemShipments> list = q.Execute().ToList(); List <SalesShipment> sslist = new List <SalesShipment>(); foreach (NAVODATAWS.ItemShipments shpt in list) { SalesShipment ss = new SalesShipment(); ss.No = shpt.No; ss.CustomerNo = shpt.Sell_to_Customer_No; ss.ItemNo = shpt.ItemNo; ss.Description = shpt.Description; ss.Description2 = shpt.Description_2; ss.UoM = shpt.Unit_of_Measure; ss.Quantity = shpt.Quantity; ss.ShipmentDate = shpt.Shipment_Date; sslist.Add(ss); } return(sslist); } catch (Exception ex) { throw ex; } }
private TableCommand <ResultSegment <TElement>, IEnumerable <TElement> > GenerateExecuteCommand(TableContinuationToken continuationToken, TableRequestOptions requestOptions) { DataServiceQuery <TElement> localQuery = this.Query; // Continuation localQuery = TableUtilities.ApplyContinuationToQuery <TElement>(continuationToken, localQuery); if (requestOptions.ServerTimeout.HasValue) { localQuery = localQuery.AddQueryOption("timeout", Convert.ToString(requestOptions.ServerTimeout.Value.TotalSeconds)); } TableCommand <ResultSegment <TElement>, IEnumerable <TElement> > cmd = new TableCommand <ResultSegment <TElement>, IEnumerable <TElement> >(); cmd.ExecuteFunc = localQuery.Execute; cmd.Begin = (callback, state) => localQuery.BeginExecute(callback, state); cmd.End = localQuery.EndExecute; cmd.ParseResponse = this.ParseTableQueryResponse; cmd.ApplyRequestOptions(requestOptions); cmd.Context = this.Context; return(cmd); }
public static DataServiceQuery <TElement> AddServerCondition <TElement>(this DataServiceQuery <TElement> q, string serverConditionName) { return(q.AddQueryOption("rf.condition", serverConditionName)); }
public static DataServiceQuery <T> Filter <T>(this DataServiceQuery <T> dataServiceQuery, object filterValue) { Contract.Requires(null != filterValue); return(dataServiceQuery.AddQueryOption(DataService.QueryOption.FILTER, filterValue)); }
public static DataServiceQuery <TElement> AddFilters <TElement>(this DataServiceQuery <TElement> q, FilterParameterCollection fc) { return(q.AddQueryOption("rf.filter", HttpUtility.UrlEncode(fc.JsonSerialize(), Encoding.GetEncoding(1251)))); }
public static DataServiceQuery <TElement> AddOrders <TElement>(this DataServiceQuery <TElement> q, SortParameterCollection sc) { return(q.AddQueryOption("rf.orderby", HttpUtility.UrlEncode(sc.JsonSerialize(), Encoding.GetEncoding(1251)))); }
public SearchResult[] ContextAwareSearch([FromUri] string query, [FromUri] string[] keywords) { query = query.Trim(); List <string> queryModifications = new List <string>(); queryModifications.Add("learning " + query); queryModifications.Add(query + " events"); queryModifications.Add(query + " basics"); queryModifications.Add(query + " research"); queryModifications.Add(query + " courses"); string[] context = { "coursera", "instructables", "edx", "udacity", "itunesu", "github", "khan academy" }; //Set default web proxy - ONLY NEEDED FOR 1AND1 HOSTING //WebRequest.DefaultWebProxy = new WebProxy("ntproxyus.lxa.perfora.net", 3128); //Set up Bing connection string rootUri = "https://api.datamarket.azure.com/Bing/Search"; var bingContainer = new Bing.BingSearchContainer(new Uri(rootUri)); var accountKey = ConfigurationManager.AppSettings["BING_KEY"]; bingContainer.Credentials = new NetworkCredential(accountKey, accountKey); //Set up search results list List <IEnumerable <Bing.WebResult> > searchResults = new List <IEnumerable <Bing.WebResult> >(); //Search for given topic DataServiceQuery <Bing.WebResult> webQuery = bingContainer.Web(query, null, null, "en-us", null, null, null, null); webQuery = webQuery.AddQueryOption("$top", 20); searchResults.Add(webQuery.Execute()); //Search for keywords foreach (string keyword in keywords) { webQuery = bingContainer.Web(query + keyword.Trim(), null, null, "en-us", null, null, null, null); webQuery = webQuery.AddQueryOption("$top", 20); searchResults.Add(webQuery.Execute()); } //Add using query modifications foreach (string queryMod in queryModifications) { webQuery = bingContainer.Web(queryMod, null, null, "en-us", null, null, null, null); webQuery = webQuery.AddQueryOption("$top", 20); searchResults.Add(webQuery.Execute()); } //Parse search results List <SearchResult> items = new List <SearchResult>(); int listNumber = 1; for (int i = 0; i < searchResults.Count; i++) { int initialRank = listNumber; foreach (Bing.WebResult result in searchResults[i]) { int rank = initialRank; SearchResult temp = new SearchResult(); temp.title = result.Title; temp.description = result.Description; temp.url = result.Url; //Modify rank based on user preferences foreach (string keyword in keywords) { if (result.Title.ToLower().Contains(keyword)) { rank = rank / 4; } else if (result.Description.ToLower().Contains(keyword)) { rank = rank / 2; } } //Modify rank based on static context foreach (string word in context) { if (result.Url.ToLower().Contains(word)) { rank = rank / 10; } else if (result.Title.ToLower().Contains(word)) { rank = rank / 4; } else if (result.Description.ToLower().Contains(word)) { rank = rank / 2; } } if (result.Url.ToLower().Contains("youtube")) { rank = rank * 100; } else if (result.Title.ToLower().Contains("youtube")) { rank = rank * 100; } else if (result.Description.ToLower().Contains("youtube")) { rank = rank * 100; } temp.ranking = rank; items.Add(temp); initialRank += 100; } listNumber++; } //Sort results by rank items.Sort((s1, s2) => s1.ranking.CompareTo(s2.ranking)); List <string> results = new List <string>(); foreach (SearchResult item in items) { results.Add(item.title + "\n" + item.description + "\n" + item.url + "\n\n"); } SearchResult[] resultArray = items.ToArray(); return(resultArray); }
// permite realizar queries a cualquier entidad, con cualquier no de params (e.g. id=23) y filtros (e.g. $expand) public ObservableCollection <object> LoadAllEntities <T>(string entitySetName, IDictionary <string, object> entityParams, IDictionary <string, object> filters) where T : class // public IList<object> LoadAllEntities<T>(string entitySetName, IDictionary<string, object> entityParams, IDictionary<string, object> filters) where T : class { UriOperationParameter[] myParams = null; IEnumerable <object> result = null; DataServiceQuery <T> query = null; if (this.container == null) { return(null); } if (string.IsNullOrEmpty(entitySetName)) { return(null); } if (entityParams == null) { query = this.container.CreateQuery <T>(entitySetName); } else { int count = entityParams.Count; if (count > 0) { myParams = new UriOperationParameter[count]; int i = 0; foreach (string paramKey in entityParams.Keys) { // check for null value here myParams[i++] = new UriOperationParameter(paramKey, entityParams[paramKey]); } query = this.container.CreateFunctionQuery <T>("", entitySetName, false, myParams); } } if (query == null) { return(null); } if (filters != null) { foreach (string filter in filters.Keys) { object filterValue = filters[filter]; if (filterValue != null) { // Immutability here ? query = query.AddQueryOption(filter, filterValue); } } } try { // 1.- Query // The service is down or any other network related issue(s) result = query.Execute(); // Synchronous operation ??? var list = result.ToList(); // return list; return(new ObservableCollection <object>(list)); } catch (Exception ex) { //this.statusInfo.Text = ex.Message; // this.errorMessage = ex.Message; } return(null); }
/// <summary> /// </summary> /// <param name="Sources">Bing search sources Sample Values : web+image+video+news+spell</param> /// <param name="Query">Bing search query Sample Values : xbox</param> /// <param name="Options">Specifies options for this request for all Sources. Valid values are: DisableLocationDetection, EnableHighlighting. Sample Values : EnableHighlighting</param> /// <param name="WebSearchOptions">Specify options for a request to the Web SourceType. Valid values are: DisableHostCollapsing, DisableQueryAlterations. Sample Values : DisableQueryAlterations</param> /// <param name="Market">Market. Note: Not all Sources support all markets. Sample Values : en-US</param> /// <param name="Adult">Adult setting is used for filtering sexually explicit content Sample Values : Moderate</param> /// <param name="Latitude">Latitude Sample Values : 47.603450</param> /// <param name="Longitude">Longitude Sample Values : -122.329696</param> /// <param name="WebFileType">File extensions to return Sample Values : XLS</param> /// <param name="ImageFilters">Array of strings that filter the response the API sends based on size, aspect, color, style, face or any combination thereof. Valid values are: Size:Small, Size:Medium, Size:Large, Size:Width:[Width], Size:Height:[Height], Aspect:Square, Aspect:Wide, Aspect:Tall, Color:Color, Color:Monochrome, Style:Photo, Style:Graphics, Face:Face, Face:Portrait, Face:Other. Sample Values : Size:Small+Aspect:Square</param> /// <param name="VideoFilters">Array of strings that filter the response the API sends based on size, aspect, color, style, face or any combination thereof. Valid values are: Duration:Short, Duration:Medium, Duration:Long, Aspect:Standard, Aspect:Widescreen, Resolution:Low, Resolution:Medium, Resolution:High. Sample Values : Duration:Short+Resolution:High</param> /// <param name="VideoSortBy">The sort order of results returned Sample Values : Date</param> /// <param name="NewsLocationOverride">Overrides Bing location detection. This parameter is only applicable in en-US market. Sample Values : US.WA</param> /// <param name="NewsCategory">The category of news for which to provide results Sample Values : rt_Business</param> /// <param name="NewsSortBy">The sort order of results returned Sample Values : Date</param> public DataServiceQuery <ExpandableSearchResult> Composite(String Sources, String Query, String Options, String WebSearchOptions, String Market, String Adult, Double?Latitude, Double?Longitude, String WebFileType, String ImageFilters, String VideoFilters, String VideoSortBy, String NewsLocationOverride, String NewsCategory, String NewsSortBy) { if ((Sources == null)) { throw new ArgumentNullException("Sources", "Sources value cannot be null"); } if ((Query == null)) { throw new ArgumentNullException("Query", "Query value cannot be null"); } DataServiceQuery <ExpandableSearchResult> query = base.CreateQuery <ExpandableSearchResult>("Composite"); query = query.AddQueryOption("Sources", string.Concat("\'", Uri.EscapeDataString(Sources), "\'")); query = query.AddQueryOption("Query", string.Concat("\'", Uri.EscapeDataString(Query), "\'")); if ((Options != null)) { query = query.AddQueryOption("Options", string.Concat("\'", Uri.EscapeDataString(Options), "\'")); } if ((WebSearchOptions != null)) { query = query.AddQueryOption("WebSearchOptions", string.Concat("\'", Uri.EscapeDataString(WebSearchOptions), "\'")); } if ((Market != null)) { query = query.AddQueryOption("Market", string.Concat("\'", Uri.EscapeDataString(Market), "\'")); } if ((Adult != null)) { query = query.AddQueryOption("Adult", string.Concat("\'", Uri.EscapeDataString(Adult), "\'")); } if (((Latitude != null))) { query = query.AddQueryOption("Latitude", Latitude.Value); } if (((Longitude != null))) { query = query.AddQueryOption("Longitude", Longitude.Value); } if ((WebFileType != null)) { query = query.AddQueryOption("WebFileType", string.Concat("\'", Uri.EscapeDataString(WebFileType), "\'")); } if ((ImageFilters != null)) { query = query.AddQueryOption("ImageFilters", string.Concat("\'", Uri.EscapeDataString(ImageFilters), "\'")); } if ((VideoFilters != null)) { query = query.AddQueryOption("VideoFilters", string.Concat("\'", Uri.EscapeDataString(VideoFilters), "\'")); } if ((VideoSortBy != null)) { query = query.AddQueryOption("VideoSortBy", string.Concat("\'", Uri.EscapeDataString(VideoSortBy), "\'")); } if ((NewsLocationOverride != null)) { query = query.AddQueryOption("NewsLocationOverride", string.Concat("\'", Uri.EscapeDataString(NewsLocationOverride), "\'")); } if ((NewsCategory != null)) { query = query.AddQueryOption("NewsCategory", string.Concat("\'", Uri.EscapeDataString(NewsCategory), "\'")); } if ((NewsSortBy != null)) { query = query.AddQueryOption("NewsSortBy", string.Concat("\'", Uri.EscapeDataString(NewsSortBy), "\'")); } return(query); }