Пример #1
0
        public bool SetValueFromString(object item, string val)
        {
            object value = null;

            try
            {
                switch (Type)
                {
                case DisplayValueType.DecimalList:
                    value = val.Split(' ').Select(s => decimal.Parse(s)).ToList();
                    break;

                case DisplayValueType.Decimal:
                    value = decimal.Parse(val);
                    break;

                case DisplayValueType.PickList:
                case DisplayValueType.PickList_Multi:
                    value = Enum.Parse(SrcProperty.PropertyType, val);
                    break;

                default:
                    value = val;
                    break;
                }

                //If we have a value, set it
                SrcProperty.SetValue(item, value);
                return(true);
            }
            catch { return(false); } //conversion unsuccessful
        }
Пример #2
0
        public string GetValueAsString(object src)
        {
            object value = null;

            value = SrcProperty.GetValue(src);

            switch (Type)
            {
            case DisplayValueType.DecimalList:
                return(string.Join(" ", ((List <decimal>)value).Select(d => string.Format("{0:N}", d))));

            case DisplayValueType.Decimal:
                return(string.Format("{0:N}", value));

            case DisplayValueType.PickList_Multi:
            default:
                return(value?.ToString());
            }
        }
Пример #3
0
 public T GetValue <T>(object src) => SrcProperty.GetValue <T>(src);
Пример #4
0
 public int GetMaxIndex(object obj) => Type == DisplayValueType.DecimalList ? (((SrcProperty.GetValue <List <decimal> >(obj)))?.Count() ?? 0) - 1 : 0;