internal static string GetStringValue(IValueProvider valueProvider, string propertyName)
        {
            ValueProviderResult value = valueProvider.GetValue(propertyName);

            if (value == null || string.IsNullOrWhiteSpace(value.get_AttemptedValue()))
            {
                return(null);
            }
            return(value.get_AttemptedValue());
        }
        internal static bool?GetBooleanValue(IValueProvider valueProvider, string propertyName)
        {
            bool result;
            bool?nullable;
            ValueProviderResult value = valueProvider.GetValue(propertyName);

            if (value == null || string.IsNullOrWhiteSpace(value.get_AttemptedValue()))
            {
                nullable = null;
                return(nullable);
            }
            if (bool.TryParse(value.get_AttemptedValue(), out result))
            {
                return(new bool?(result));
            }
            nullable = null;
            return(nullable);
        }
        protected bool?GetValue(ActionExecutingContext filterContext, string valueName)
        {
            bool value;
            bool?nullable;
            ValueProviderResult result = filterContext.get_Controller().get_ValueProvider().GetValue(valueName);

            if (result == null)
            {
                nullable = null;
                return(nullable);
            }
            if (bool.TryParse(result.get_AttemptedValue(), out value))
            {
                return(new bool?(value));
            }
            nullable = null;
            return(nullable);
        }
示例#4
0
        public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
        {
            ValueProviderResult valueResult = bindingContext.get_ValueProvider().GetValue(bindingContext.get_ModelName());
            ModelState          modelState1 = new ModelState();

            modelState1.set_Value(valueResult);
            ModelState modelState  = modelState1;
            object     actualValue = null;

            try
            {
                actualValue = Convert.ToDouble(valueResult.get_AttemptedValue(), CultureInfo.InvariantCulture);
            }
            catch (FormatException formatException)
            {
                modelState.get_Errors().Add(formatException);
            }
            bindingContext.get_ModelState().Add(bindingContext.get_ModelName(), modelState);
            return(actualValue);
        }