public T ValueAs <T>(string name)
        {
            var bindingValue = RawValue(name);

            if (bindingValue == null || bindingValue.RawValue == null)
            {
                return(default(T));
            }

            return(_converter.FromString <T>(bindingValue.RawValue.ToString()));
        }
Beispiel #2
0
 public void Value <T>(string header, Action <T> callback)
 {
     _values.Value(header, value =>
     {
         var converted = _converter.FromString <T>(value.RawValue.ToString());
         callback(converted);
     });
 }
Beispiel #3
0
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            if (reader.Value == null)
            {
                return(default(T));
            }

            return(_converter.FromString <T>(reader.Value.ToString()));
        }
Beispiel #4
0
        private object convertValue(object rawValue, Type type)
        {
            if (rawValue == null)
            {
                return(null);
            }

            if (rawValue.GetType().CanBeCastTo(type))
            {
                return(rawValue);
            }

            return(_converter.FromString(rawValue.ToString(), type));
        }
Beispiel #5
0
 public void Value <T>(string header, Action <T> callback)
 {
     _dictionary.Value(RequestDataSource.Header.ToString(), header, (name, value) =>
     {
         if (value == null)
         {
             callback(default(T));
         }
         else
         {
             var converted = _converter.FromString <T>(value.ToString());
             callback(converted);
         }
     });
 }
        public virtual EditPropertyResult EditProperty(UpdatePropertyModel <T> update, T entity)
        {
            var    accessor       = getAccessor(update);
            var    oldValue       = accessor.GetValue(entity);
            var    newValueString = update.PropertyValue ?? string.Empty;
            object newValue       = null;
            var    targetType     = accessor.PropertyType;

            try
            {
                newValue = _converter.FromString(newValueString, targetType);

                if (!PropertyUtility.IsChanged(targetType, newValue, oldValue))
                {
                    return(EditPropertyResult.NotChangedResult());
                }
            }
            catch (Exception ex)
            {
                throw InvalidPropertyConversionException
                      .For(FastPackKeys.INVALID_TYPE_CONVERSION.ToFormat(newValueString,
                                                                         LocalizationManager.GetTextForType(
                                                                             targetType.Name.ToUpper())), ex);
            }

            accessor.SetValue(entity, newValue);
            var prevValue = oldValue == null ? string.Empty : oldValue.ToString();
            var result    = new EditPropertyResult(accessor, typeof(T), prevValue, newValueString);

            if (!result.IsListAccessor())
            {
                //Used to be UpdatePropertyModel.formatter.GetDisplay.  We had an unused _flattener variable.  Why?
                result.PreviousValue = _formatter.GetDisplay(accessor, oldValue);
                result.NewValue      = _formatter.GetDisplayForProperty(accessor, entity);
            }

            return(result);
        }
Beispiel #7
0
 public static T ReadAttribute <T>(this XmlElement element, string attribute)
 {
     return(element.HasAttribute(attribute) ? converter.FromString <T>(element.GetAttribute(attribute)) : default(T));
 }
Beispiel #8
0
 public TArg GetValueAs <TArg>()
 {
     return(_converter.FromString <TArg>(_criteria.value));
 }