Esempio n. 1
0
        public static bool WillReadUri(this HttpParameterBinding parameterBinding)
        {
            if (parameterBinding == null)
            {
                throw Error.ArgumentNull("parameterBinding");
            }

            IValueProviderParameterBinding valueProviderParameterBinding =
                parameterBinding as IValueProviderParameterBinding;

            if (valueProviderParameterBinding != null)
            {
                IEnumerable <ValueProviderFactory> valueProviderFactories =
                    valueProviderParameterBinding.ValueProviderFactories;
                if (
                    valueProviderFactories.Any() &&
                    valueProviderFactories.All(factory => factory is IUriValueProviderFactory)
                    )
                {
                    return(true);
                }
            }

            return(false);
        }
        internal static bool WillReadUri(this HttpParameterBinding parameterBinding)
        {
            if (parameterBinding == null)
            {
                throw Error.ArgumentNull("parameterBinding");
            }

            IValueProviderParameterBinding valueProviderParameterBinding = parameterBinding as IValueProviderParameterBinding;

            if (valueProviderParameterBinding != null)
            {
                IEnumerable <ValueProviderFactory> valueProviderFactories = valueProviderParameterBinding.ValueProviderFactories;

                // NOTE: IUriValueProviderFactory is an internal interface. So, instead of checing the factory
                // against it, we can check against the actual types as there are only two of them:
                //      QueryStringValueProviderFactory
                //      RouteDataValueProviderFactory
                if (valueProviderFactories.Any() && valueProviderFactories.All(factory =>
                                                                               factory.GetType() == typeof(QueryStringValueProviderFactory) ||
                                                                               factory.GetType() == typeof(RouteDataValueProviderFactory)))
                {
                    return(true);
                }
            }

            return(false);
        }
Esempio n. 3
0
        /// <summary>
        /// Determines if a parameter will be read from the URI.
        /// </summary>
        /// <param name="parameterBinding">The parameter binding.</param>
        public static bool WillReadUri(this HttpParameterBinding parameterBinding)
        {
            if (parameterBinding == null)
            {
                return(false);
            }

            IValueProviderParameterBinding valueProviderParameterBinding = parameterBinding as IValueProviderParameterBinding;

            if (valueProviderParameterBinding != null)
            {
                IEnumerable <ValueProviderFactory> valueProviderFactories = valueProviderParameterBinding.ValueProviderFactories;
                if (valueProviderFactories.Any() && valueProviderFactories.All(factory => factory is QueryStringValueProviderFactory || factory is RouteDataValueProviderFactory))
                {
                    return(true);
                }
            }
            return(false);
        }
Esempio n. 4
0
        public static bool WillReadUri(this HttpParameterBinding parameterBinding)
        {
            if (parameterBinding == null)
            {
                throw new ArgumentNullException("parameterBinding");
            }

            IValueProviderParameterBinding valueProviderParameterBinding = parameterBinding as IValueProviderParameterBinding;

            if (valueProviderParameterBinding != null)
            {
                IEnumerable <ValueProviderFactory> valueProviderFactories = valueProviderParameterBinding.ValueProviderFactories;
                if (valueProviderFactories.Any())
                {
                    return(true);
                }
            }

            return(false);
        }
Esempio n. 5
0
        public static bool WillReadUri(this HttpParameterBinding parameterBinding)
        {
            if (parameterBinding == null)
            {
                throw new ArgumentNullException("parameterBinding");
            }

            IValueProviderParameterBinding valueProviderParameterBinding = parameterBinding as IValueProviderParameterBinding;

            if (valueProviderParameterBinding != null)
            {
                IEnumerable <ValueProviderFactory> valueProviderFactories = valueProviderParameterBinding.ValueProviderFactories;
                // since The interface IUriValueProvderFactory is internal, following line of codes is altered
                // if (valueProviderFactories.Any() && valueProviderFactories.All(factory => factory is IUriValueProviderFactory))
                if (valueProviderFactories.Any() && valueProviderFactories.All(factory => (factory is QueryStringValueProviderFactory) || (factory is RouteDataValueProviderFactory)))
                {
                    return(true);
                }
            }

            return(false);
        }