예제 #1
0
파일: ToDecimal.cs 프로젝트: isensen/Peanut
        public object Parse(NameValueCollection data, string key, string prefix, out bool succeed)
        {
            string  value = BindUtils.GetValue(data, key, prefix);
            decimal num   = 0m;

            succeed = decimal.TryParse(value, out num);
            return(num);
        }
예제 #2
0
파일: ToByte.cs 프로젝트: isensen/Peanut
        public object Parse(NameValueCollection data, string key, string prefix, out bool succeed)
        {
            string value = BindUtils.GetValue(data, key, prefix);
            byte   b     = 0;

            succeed = byte.TryParse(value, out b);
            return(b);
        }
예제 #3
0
        public object Parse(NameValueCollection data, string key, string prefix, out bool succeed)
        {
            string   value = BindUtils.GetValue(data, key, prefix);
            DateTime dateTime;

            succeed = DateTime.TryParse(value, out dateTime);
            return(dateTime);
        }
예제 #4
0
        public object Parse(NameValueCollection data, string key, string prefix, out bool succeed)
        {
            string value = BindUtils.GetValue(data, key, prefix);
            bool   flag  = false;

            succeed = bool.TryParse(value, out flag);
            return(flag);
        }
예제 #5
0
파일: ToString.cs 프로젝트: isensen/Peanut
        public object Parse(NameValueCollection data, string key, string prefix, out bool succeed)
        {
            string value = BindUtils.GetValue(data, key, prefix);

            if (string.IsNullOrEmpty(value))
            {
                succeed = false;
            }
            else
            {
                succeed = true;
            }
            return(value);
        }
예제 #6
0
파일: ToEnum.cs 프로젝트: isensen/Peanut
        public object Parse(NameValueCollection data, string key, string prefix, out bool succeed)
        {
            string value = BindUtils.GetValue(data, key, prefix);
            object result;

            if (string.IsNullOrEmpty(value))
            {
                succeed = true;
                result  = default(T);
            }
            else
            {
                IEnumValue enumConvert = BindUtils.GetEnumConvert(typeof(T));
                result = enumConvert.GetValue(value, out succeed);
            }
            return(result);
        }
예제 #7
0
        private bool GetValueTypeValue(System.Collections.Specialized.NameValueCollection data, string Prefix, out object value)
        {
            IConvert convert = null;

            value = null;
            Type createtype = Info.ParameterType;

            if (Binder != null && Binder.Convert == null && Binder.Fungible != null)
            {
                createtype = Binder.Fungible;
            }
            bool succed = false;

            if (Binder != null && !string.IsNullOrEmpty(Binder.Prefix))
            {
                Prefix = Binder.Prefix;
            }
            if (Binder != null)
            {
                convert = Binder.GetConvert();
            }
            if (convert == null)
            {
                if (BindUtils.Converts.ContainsKey(createtype))
                {
                    convert = BindUtils.Converts[createtype];
                }
            }
            if (convert != null)
            {
                value = convert.Parse(data, Info.Name, Prefix, out succed);
            }
            else
            {
                if (createtype.IsEnum)
                {
                    string     pvalue = BindUtils.GetValue(data, Info.Name, Prefix);
                    IEnumValue evalue = BindUtils.GetEnumConvert(createtype);
                    value = evalue.GetValue(pvalue, out succed);
                }
            }
            return(succed);
        }