/// <summary>
        /// extract the selector
        /// </summary>
        /// <param name="parameter"></param>
        /// <param name="context"></param>
        /// <param name="jsonNamingPolicy"></param>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException"></exception>
        private static ExpressionValue GetSelector <T>(ParameterExpression parameter,
                                                       RSqlQueryParser.ComparisonContext context,
                                                       JsonNamingPolicy jsonNamingPolicy)
        {
            var result = ExpressionValue.Parse <T>(parameter, context.selector().GetText(), jsonNamingPolicy);

            return(result ?? throw new ComparisonUnknownSelectorException(context));
        }
 public ComparisonInvalidComparatorSelectionException(RSqlQueryParser.ComparisonContext origin,
                                                      Exception innerException = null) : base(origin,
                                                                                              $"Invalid selector : {origin?.selector()?.GetText()}", innerException)
 {
 }
 public ComparisonInvalidMatchTypeException(RSqlQueryParser.ComparisonContext origin,
                                            Exception innerException = null) : base(origin,
                                                                                    $"Invalid comparison match type : {origin?.selector()?.GetText()} and {origin?.arguments()?.GetText()}",
                                                                                    innerException)
 {
 }
 public ComparisonNotEnoughArgumentException(RSqlQueryParser.ComparisonContext origin,
                                             Exception innerException = null) : base(origin,
                                                                                     $"Not enough argument : {origin?.selector()?.GetText()}", innerException)
 {
 }
 public ComparisonUnknownSelectorException(RSqlQueryParser.ComparisonContext origin,
                                           Exception innerException = null) : base(origin,
                                                                                   $"Unknown selector : '{origin?.selector()?.GetText()}'", innerException)
 {
 }
Exemple #6
0
 public ComparisonTooManyArgumentException(RSqlQueryParser.ComparisonContext origin,
                                           Exception innerException = null) : base(origin, $"Too many arguments : {origin?.selector()?.GetText()}",
                                                                                   innerException)
 {
 }