public QueryDefinition GenerateNotInQuery()
        {
            var query = new QueryDefinition(RecordType);

            query.Distinct   = true;
            query.RootFilter = NotInFilterConditions.GetAsFilter();
            query.Joins      = NotInJoins.GetAsJoins().ToList();
            query.Fields     = new string[0];
            return(query);
        }
        private bool ValidateCurrentSearch()
        {
            var result = true;

            if (!IsQuickFind)
            {
                result = FilterConditions.Validate();
                var joinValidate = Joins.Validate();
                if (!joinValidate)
                {
                    result = result && joinValidate;
                }

                if (IncludeNotIn)
                {
                    var notInFilterValidate = NotInFilterConditions.Validate();
                    result = result && notInFilterValidate;
                    var notInJoinsValidate = NotInJoins.Validate();
                    result = result && notInJoinsValidate;
                }
            }

            return(result);
        }