public Task<StrainSearchResponse> Search(string searchTerm, string sort, OptionalStrainSearchFilters filters, int page = 0, int take = 10) { dynamic postObject = new ExpandoObject(); postObject.page = page; postObject.take = take; if (!String.IsNullOrWhiteSpace(searchTerm)) { postObject.search = searchTerm; } if (!String.IsNullOrWhiteSpace(sort)) { postObject.sort = sort; } if (filters != null) { bool anyFilters = false; dynamic filterSet = new {}; if (filters.category != null && filters.category.Count > 0) { anyFilters = true; filterSet.category = filters.category; } if (filters.conditions != null && filters.conditions.Count > 0) { anyFilters = true; filterSet.conditions = filters.conditions; } if (filters.exclude != null && filters.exclude.Count > 0) { anyFilters = true; filterSet.exclude = filters.exclude; } if (filters.flavors != null && filters.flavors.Count > 0) { anyFilters = true; filterSet.flavors = filters.flavors; } if (filters.symptoms != null && filters.symptoms.Count > 0) { anyFilters = true; filterSet.symptoms = filters.symptoms; } if (filters.tags != null && filters.tags.Count > 0) { anyFilters = true; filterSet.tags = filters.tags; } if (anyFilters) { postObject.filters = filterSet; } } return factory.PostStrainClientAndReadAsAsync<StrainSearchResponse, dynamic>(String.Empty, postObject); }
public Task<StrainSearchResponse> Search(string searchTerm, string sort, OptionalStrainSearchFilters filters, int page = 0, int take = 10) { throw new NotImplementedException(); }