Example #1
0
        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();
 }