public object Convert(IPropertyContext context) { if (context.RawValueFromRequest == null || context.RawValueFromRequest.RawValue == null) { return(_defaulter.Default()); } return(context.RawValueFromRequest.RawValue.GetType().CanBeCastTo(_propertyType) ? context.RawValueFromRequest.RawValue : _strategy.Convert(context)); }
public void DrawShapesOnCanvas(Canvas myCanvas) { myCanvas.Children.Clear(); IMonitorData monitorData = _monitorDataProvider.Fetch(); IEnumerable <IShape> myShapes = _converterStrategy.Convert(monitorData); foreach (IShape myShape in myShapes) { myShape.DrawOnCanvas(myCanvas); } }
public object Convert(IConversionRequest request) { var stringValue = request.Text; if (stringValue == ObjectConverter.NULL || stringValue == null) { return(null); } if (stringValue == string.Empty && _type != typeof(string)) { return(null); } return(_inner.Convert(request)); }
public object Convert(IConversionRequest request) { var stringValue = request.Text; if (stringValue.ToUpper() == StringConverterStrategy.EMPTY || stringValue.Trim().IsEmpty()) { return(Array.CreateInstance(_innerType, 0)); } var strings = stringValue.ToDelimitedArray(); var array = Array.CreateInstance(_innerType, strings.Length); for (var i = 0; i < strings.Length; i++) { var value = _inner.Convert(request.AnotherRequest(strings[i])); array.SetValue(value, i); } return(array); }
public object Convert(IConversionRequest request) { var stringValue = request.Text; if (stringValue.ToUpper() == StringConverterStrategy.EMPTY || stringValue.Trim().IsEmpty()) { return(Array.CreateInstance(_innerType, 0)); } var csvTokenizer = new CsvTokenizer(); csvTokenizer.Read(stringValue); var tokens = csvTokenizer.Tokens.Select(t => t.Trim()).ToList(); var array = Array.CreateInstance(_innerType, tokens.Count); for (var i = 0; i < tokens.Count; i++) { var value = _inner.Convert(request.AnotherRequest(tokens[i])); array.SetValue(value, i); } return(array); }
public static object Convert(this IConverterStrategy strategy, string text) { return(strategy.Convert(new ConversionRequest(text))); }