Ejemplo n.º 1
0
        public static IMemberSearchCriteriaBuilder WithPaging(this IMemberSearchCriteriaBuilder builder, int skip, int take)
        {
            builder.Criteria.Skip = skip;
            builder.Criteria.Take = take;

            return(builder);
        }
Ejemplo n.º 2
0
        public virtual MembersSearchCriteria BuildSearchCriteria(IMemberSearchCriteriaBuilder builder)
        {
            var searchPraseParts = GetDynamicPropertiesParts();

            searchPraseParts.AddRange(GetModelPropertiesParts());

            // creates a search phrase query like:
            // "DynamicProperyName1":"DynamicProperyValue" "ArrayDynamicProperyName":"DynamicProperyValue1","DynamicProperyValue2" "ModelPropery1":"ModelProperyValue1"
            var searchPhrase = string.Join(' ', searchPraseParts);

            builder.WithSearchPhrase(searchPhrase);

            return(builder.Build());
        }
Ejemplo n.º 3
0
        protected virtual void EvaluateSearchCriteria(IList <IConditionTree> children, IMemberSearchCriteriaBuilder builder)
        {
            if (children != null)
            {
                foreach (var conditionTree in children)
                {
                    EvaluateSearchCriteria(conditionTree.Children, builder);

                    if (conditionTree is ICanBuildSearchCriteria buildableCondition)
                    {
                        _ = buildableCondition.BuildSearchCriteria(builder);
                    }
                }
            }
        }
Ejemplo n.º 4
0
        public virtual MembersSearchCriteria BuildSearchCriteria(IMemberSearchCriteriaBuilder builder)
        {
            EvaluateSearchCriteria(Children, builder);

            return(builder.Build());
        }
Ejemplo n.º 5
0
        public static IMemberSearchCriteriaBuilder WithSort(this IMemberSearchCriteriaBuilder builder, string sort)
        {
            builder.Criteria.Sort = sort;

            return(builder);
        }
Ejemplo n.º 6
0
        public static IMemberSearchCriteriaBuilder WithSearchPhrase(this IMemberSearchCriteriaBuilder builder, string searchPhrase)
        {
            builder.Criteria.SearchPhrase = $"{builder.Criteria.SearchPhrase} {searchPhrase}".Trim();

            return(builder);
        }