public async Task LexicalaClient_AdvancedSearch_Sample_NotGreaterThanZero_NotInQueryString() { string response = await LoadResponseFromFile("Search_empty.json"); _handlerMock.Protected() .Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .ReturnsAsync(SetupOkResponseMessage(response)); var searchRequest = new AdvancedSearchRequest { Language = "xx", SearchText = "text", Sample = 0 }; // ACT await _client.AdvancedSearchAsync(searchRequest); // ASSERT _handlerMock.Protected().Verify("SendAsync", Times.Once(), ItExpr.Is <HttpRequestMessage>(req => req.RequestUri.ToString() == "http://www.tempuri.org/search?language=xx&text=text&source=global" ), ItExpr.IsAny <CancellationToken>()); }
private dynamic ComboInOperator(AdvancedSearchRequest item) { var eo = new ExpandoObject(); OperatorName op = (OperatorName)item.Operator.OperatorType; var lst = new List <string>(); try { JArray array = (JArray)item.Value; foreach (var ar in array) { lst.Add(ar.Value <string>("value")); } } catch (Exception) { var obj = (JObject)item.Value; lst.Add(obj.Value <string>("value")); } eo.TryAdd <string, object>($"{formatQueryParameter(item.Attribute.AttributeName)}", lst); return(new { sql = $"{_prefix}[{item.Attribute.AttributeName}] in @{formatQueryParameter(item.Attribute.AttributeName)}", value = eo }); }
public void Search_ByExternalReference_Success() { PaymentCreateRequest request = BuildCreateRequest(true, "approved"); Payment createdPayment = client.Create(request); Thread.Sleep(3000); var searchRequest = new AdvancedSearchRequest { Limit = 1, Offset = 0, Sort = "date_created", Criteria = "desc", Range = "date_created", BeginDate = DateTime.Now.Date, EndDate = DateTime.Now.AddDays(1).AddMilliseconds(-1), Filters = new Dictionary <string, object> { ["external_reference"] = createdPayment.ExternalReference, }, }; ResultsResourcesPage <Payment> results = client.Search(searchRequest); Assert.NotNull(results); Assert.NotNull(results.Paging); Assert.Equal(1, results.Paging.Total); Assert.NotNull(results.Results); Assert.Equal(createdPayment.Id, results.Results.First().Id); }
public SearchResponse AdvancedSearch(AdvancedSearchRequest request) { PublicServiceDAO publicDAO = new PublicServiceDAO(); List <apartment> searchResult = publicDAO.AdvancedSearch(request.date_from, request.date_to, request.no_king_beds, request.no_single_beds, request.no_extra_beds, request.pet_friendly, request.internet, request.air_conditioning, request.tv, request.kitchen, request.class_stars, request.balcony, request.accessible); return(new SearchResponse(searchResult.ToArray())); }
private dynamic StringLikeOperatorStartWith(AdvancedSearchRequest item) { var eo = new ExpandoObject(); OperatorName op = (OperatorName)item.Operator.OperatorType; eo.TryAdd <string, object>($"{formatQueryParameter(item.Attribute.AttributeName)}", $"{item.Value}%"); return(new { sql = $"{_prefix}[{item.Attribute.AttributeName}] LIKE @{formatQueryParameter(item.Attribute.AttributeName)}", value = eo }); }
private dynamic DateTimeNotEqualsOperator(AdvancedSearchRequest item) { var eo = new ExpandoObject(); OperatorName op = (OperatorName)item.Operator.OperatorType; eo.TryAdd <string, object>($"{formatQueryParameter(item.Attribute.AttributeName)}", item.Value); return(new { sql = $"{_prefix}[{item.Attribute.AttributeName}] <> @{formatQueryParameter(item.Attribute.AttributeName)}", value = eo }); }
private dynamic RadioEqualsOperator(AdvancedSearchRequest item) { var eo = new ExpandoObject(); OperatorName op = (OperatorName)item.Operator.OperatorType; var data = (JObject)item.Value; eo.TryAdd <string, object>($"{formatQueryParameter(item.Attribute.AttributeName)}", data.Value <string>("value")); return(new { sql = $"{_prefix}[{item.Attribute.AttributeName}] = @{formatQueryParameter(item.Attribute.AttributeName)}", value = eo }); }
private dynamic DecimalBetweenOperator(AdvancedSearchRequest item) { var eo = new ExpandoObject(); OperatorName op = (OperatorName)item.Operator.OperatorType; eo.TryAdd <string, object>($"{formatQueryParameter(item.Attribute.AttributeName)}Value1", item.Value); eo.TryAdd <string, object>($"{formatQueryParameter(item.Attribute.AttributeName)}Value2", item.Value2); return(new { sql = $"{_prefix}[{item.Attribute.AttributeName}] between @{formatQueryParameter(item.Attribute.AttributeName)}Value1 and @{formatQueryParameter(item.Attribute.AttributeName)}Value2", value = eo }); }
private ResultsResourcesPage <AdvancedPayment> SearchByExternalReference(string externalReference) { var searchRequest = new AdvancedSearchRequest { Limit = 10, Offset = 0, Sort = "date_created", Criteria = "desc", Range = "date_created", BeginDate = DateTime.Now.Date, EndDate = DateTime.Now.AddDays(1).AddMilliseconds(-1), Filters = new Dictionary <string, object> { ["external_reference"] = externalReference, }, }; return(client.Search(searchRequest)); }
public IList <FuelStation> Search(AdvancedSearchRequest filter) { _listResult = null; try { Connection.Open(); _listResult = _fuelStationDa.Search(filter); } finally { if (Connection.State == ConnectionState.Open) { Connection.Close(); } } return(_listResult); }
private dynamic MultiCheckboxEqualsOperator(AdvancedSearchRequest item) { var eo = new ExpandoObject(); OperatorName op = (OperatorName)item.Operator.OperatorType; if (item.Value.GetType() == typeof(JObject)) { var jObj = (JObject)item.Value; eo.TryAdd <string, object>($"{formatQueryParameter(item.Attribute.AttributeName)}", jObj.Value <string>("value")); } else { eo.TryAdd <string, object>($"{formatQueryParameter(item.Attribute.AttributeName)}", item.Value); } return(new { sql = $"{_prefix}[{item.Attribute.AttributeName}] = @{formatQueryParameter(item.Attribute.AttributeName)}", value = eo }); }
public Response Search(AdvancedSearchRequest request) { try { _listResult = _repository.Search(request); var numberItems = _listResult.Count; if (numberItems == 0) { _response = new Response { IsSuccess = true, NumberItems = numberItems, //Obsolete = _listResult, StatusResponse = new StatusResponse { Status = 404, Message = Default.LblHttpStatusCode404, Timestamp = DateTimeOperations.FormatTimeStamp() } }; return(_response); } _response = new Response { IsSuccess = true, NumberItems = numberItems, //Obsolete = request.SortedBy.HasValue ? Sorting.Sort(_listResult, request.SortedBy.Value) : _listResult, StatusResponse = new StatusResponse { Status = 200, Message = Default.LblHttpStatusCode200 } }; } catch (Exception exception) { var exceptionLog = new ExceptionLog { ApplicationName = $"{ConfigurationManager.AppSettings["SolutionName"]} - {ConfigurationManager.AppSettings["UserFuelServices"]}", Message = exception.Message }; var exceptionRepository = new ExceptionLogRepository("MetadataConnection"); var exceptionId = exceptionRepository.Add(exceptionLog); _response = new Response { IsSuccess = false, //Obsolete = null, StatusResponse = new StatusResponse { Status = 500, Message = Default.LblHttpStatusCode500, Timestamp = DateTimeOperations.FormatTimeStamp() } }; } return(_response); }
public Task <SearchResponse> AdvancedSearchAsync(AdvancedSearchRequest searchRequest) { if (searchRequest.Language?.Length != 2) { throw new ArgumentException($"Invalid language code provided ({searchRequest.Language}), a valid language code is two characters"); } if (string.IsNullOrEmpty(searchRequest.SearchText)) { throw new ArgumentException("SearchText cannot be empty"); } // build the querystring based on provided search request params StringBuilder queryStringBuilder = new StringBuilder($"{Search}?language={searchRequest.Language}&text={searchRequest.SearchText}"); queryStringBuilder.Append("&source=" + searchRequest.Source); if (searchRequest.Analyzed) { queryStringBuilder.Append("&analyzed=true"); } if (searchRequest.Monosemous) { queryStringBuilder.Append("&monosemous=true"); } if (searchRequest.Polysemous) { queryStringBuilder.Append("&polysemous=true"); } if (searchRequest.Morph) { queryStringBuilder.Append("&morph=true"); } if (!string.IsNullOrEmpty(searchRequest.Pos)) { queryStringBuilder.Append("&pos=" + searchRequest.Pos); } if (!string.IsNullOrEmpty(searchRequest.Number)) { queryStringBuilder.Append("&number=" + searchRequest.Number); } if (!string.IsNullOrEmpty(searchRequest.Gender)) { queryStringBuilder.Append("&gender=" + searchRequest.Gender); } if (!string.IsNullOrEmpty(searchRequest.Subcategorization)) { queryStringBuilder.Append("&subcategorization=" + searchRequest.Subcategorization); } // pagination - only append if values are other than default values if (searchRequest.Page > 1) { queryStringBuilder.Append("&page=" + searchRequest.Page); } if (searchRequest.PageLength != 10 && searchRequest.PageLength > 0 && searchRequest.PageLength <= 30) { queryStringBuilder.Append("&page-length=" + searchRequest.PageLength); } if (searchRequest.Sample > 0) { queryStringBuilder.Append("&sample=" + searchRequest.Sample); } return(ExecuteSearch(queryStringBuilder.ToString(), searchRequest.ETag)); }
public Response Get(AdvancedSearchRequest request) { return(_fuelStationBr.Search(request)); }
internal IList <FuelStation> Search(AdvancedSearchRequest filter) { Command = new SqlCommand { Connection = (SqlConnection)Connection, CommandType = CommandType.StoredProcedure, CommandText = "Operation.Search" }; if (!string.IsNullOrEmpty(filter.IdStation)) { var paramOpc = new SqlParameter { ParameterName = "@IdStation", DbType = DbType.String, Value = filter.IdStation }; Command.Parameters.Add(paramOpc); } if (!string.IsNullOrEmpty(filter.ZipCode)) { var paramOpc = new SqlParameter { ParameterName = "@ZipCode", DbType = DbType.String, Value = filter.ZipCode }; Command.Parameters.Add(paramOpc); } var param = new SqlParameter { ParameterName = "@LowestNPrices", DbType = DbType.Int32, Value = filter.LowestNPrices }; Command.Parameters.Add(param); param = new SqlParameter { ParameterName = "@NDaysOldPrices", DbType = DbType.Int32, Value = filter.NDaysOldPrices }; Command.Parameters.Add(param); param = new SqlParameter { ParameterName = "@ShowAllOnNoPrices", DbType = DbType.Boolean, Value = filter.ShowAllOnNoPrices }; Command.Parameters.Add(param); param = new SqlParameter { ParameterName = "@Product", DbType = DbType.Boolean, Value = filter.ProductName }; Command.Parameters.Add(param); param = new SqlParameter { ParameterName = "@SupplierID", DbType = DbType.Boolean, Value = filter.SupplierId }; Command.Parameters.Add(param); Populate((SqlDataReader)Command.ExecuteReader()); return(_listResult); }
public SearchResponse AdvancedSearch(AdvancedSearchRequest request) { apartment ap = new apartment(); return(new SearchResponse(new apartment[] { ap })); }
public ComplexAdvancedSearchRequest(AdvancedSearchRequest searchRequest, string prefix, Dictionary <string, object> additional) { this._searchRequest = searchRequest; this._prefix = prefix; this._AdditionalCondition = additional; }
public async Task <IActionResult> AdvancedSearch([FromBody] AdvancedSearchRequest request) { var result = new List <AdvancedQuerySearchResponse>(); return(this.Ok(result)); }
private dynamic getFieldQuery(AdvancedSearchRequest item) { OperatorName op = (OperatorName)item.Operator.OperatorName; switch (op) { case OperatorName.ComboEquals: return(ComboEqualsOperator(item)); case OperatorName.ComboIn: return(ComboInOperator(item)); case OperatorName.DateTimeBetween: return(DateTimeBetweenOperator(item)); case OperatorName.DateTimeEquals: return(DateTimeEqualsOperator(item)); case OperatorName.DateTimeGreaterThan: return(DateTimeGreaterThanOperator(item)); case OperatorName.DateTimeGreaterThanOrEquals: return(DateTimeGreaterThanOrEqualsOperator(item)); case OperatorName.DateTimeIn: return(DateTimeInOperator(item)); case OperatorName.DateTimeLessThan: return(DateTimeLessThanOperator(item)); case OperatorName.DateTimeLessThanOrEquals: return(DateTimeLessThanOrEqualsOperator(item)); case OperatorName.DateTimeNotEquals: return(DateTimeNotEqualsOperator(item)); case OperatorName.DecimalBetween: return(DecimalBetweenOperator(item)); case OperatorName.DecimalEquals: return(DecimalEqualsOperator(item)); case OperatorName.DecimalGreaterThan: return(DecimalGreaterThanOperator(item)); case OperatorName.DecimalGreaterThanOrEquals: return(DecimalGreaterThanOrEqualsOperator(item)); case OperatorName.DecimalIn: return(DecimalInOperator(item)); case OperatorName.DecimalLessThan: return(DecimalLessThanOperator(item)); case OperatorName.DecimalLessThanOrEquals: return(DecimalLessThanOrEqualsOperator(item)); case OperatorName.DecimalNotEquals: return(DecimalNotEqualsOperator(item)); case OperatorName.IntegerBetween: return(IntegerBetweenOperator(item)); case OperatorName.IntegerEquals: return(IntegerEqualsOperator(item)); case OperatorName.IntegerGreaterThan: return(IntegerGreaterThanOperator(item)); case OperatorName.IntegerGreaterThanOrEquals: return(IntegerGreaterThanOrEqualsOperator(item)); case OperatorName.IntegerIn: return(IntegerInOperator(item)); case OperatorName.IntegerLessThan: return(IntegerLessThanOperator(item)); case OperatorName.IntegerLessThanorEquals: return(IntegerLessThanorEqualsOperator(item)); case OperatorName.IntegerNotEquals: return(IntegerNotEqualsOperator(item)); case OperatorName.MultiCheckboxEquals: return(MultiCheckboxEqualsOperator(item)); case OperatorName.MultiCheckboxIn: return(MultiCheckboxInOperator(item)); case OperatorName.StringEquals: return(StringEqualsOperator(item)); case OperatorName.StringGreaterThan: return(StringGreaterThanOperator(item)); case OperatorName.StringIn: return(StringInOperator(item)); case OperatorName.StringLessThan: return(StringLessThanOperator(item)); case OperatorName.StringLike: return(StringLikeOperator(item)); case OperatorName.StringNotEquals: return(StringNotEqualsOperator(item)); case OperatorName.RadioEquals: return(RadioEqualsOperator(item)); case OperatorName.StringLikeStartWith: return(StringLikeOperatorStartWith(item)); case OperatorName.IsNull: return(StringIsNull(item)); case OperatorName.IsNotNull: return(StringIsNotNull(item)); default: return(""); } }