Example #1
0
File: Lt.cs Project: sdBruLi/Csharp
        protected override string GetErrorMsgTpl()
        {
            StringBuilder enSb          = new StringBuilder();
            StringBuilder zhSb          = new StringBuilder();
            var           tIProgramTool = ToolFactory.CreateIProgramTool();

            if (tIProgramTool.IsNumericType(this.Value))
            {
                enSb.AppendFormat("{{FieldName}} must be less than {0}", this.Max);
                zhSb.AppendFormat("{{FieldName}}必须少于{0}", this.Max);
                return(this.mILanguageTool.Get(enSb.ToString(), zhSb.ToString()));
            }
            if (tIProgramTool.IsStringType(Value))
            {
                enSb.AppendFormat("{{FieldName}} length must be less than {0}", this.Max);
                zhSb.AppendFormat("{{FieldName}}长度必须少于{0}", this.Max);
                return(this.mILanguageTool.Get(enSb.ToString(), zhSb.ToString()));
            }
            if (tIProgramTool.IsDateTimeType(Value))
            {
                var dMaxString = ToolFactory.CreateICalenderTool().Format(Max);
                enSb.AppendFormat("{{FieldName}} must be less than {0}", dMaxString);
                zhSb.AppendFormat("{{FieldName}}必须少于{0}", dMaxString);
                return(this.mILanguageTool.Get(enSb.ToString(), zhSb.ToString()));
            }
            throw new Exception("无法自动检测比较类型");
        }
Example #2
0
        public object Bind(object obj)
        {
            var type = obj.GetType();

            var iProgramTool = ToolFactory.CreateIProgramTool();

            foreach (var propertyPath in this._NameValueCollection.AllKeys)
            {
                if (string.IsNullOrEmpty(propertyPath))
                {
                    continue;
                }

                var nvValues = this._NameValueCollection.GetValues(propertyPath);

                if (nvValues == null || nvValues.Length == 0)
                {
                    continue;
                }

                var bindingFlags = BindingFlags.IgnoreCase | BindingFlags.Instance |
                                   BindingFlags.Public | BindingFlags.GetProperty | BindingFlags.SetProperty;

                var property = ReflectorHelper.GetPropertyInfoOrDefault(type, propertyPath, bindingFlags);

                if (property == null)
                {
                    continue;
                }

                object realValue    = null;
                var    propertyType = property.PropertyType;

                try
                {
                    realValue = iProgramTool.ChanageType(nvValues, property.PropertyType);
                }
                catch
                {
                }

                if (realValue != null)
                {
                    ReflectorHelper.SetProperty(obj, propertyPath, realValue, null);
                }
            }
            return(obj);
        }
Example #3
0
File: Lt.cs Project: sdBruLi/Csharp
        public override bool Valid(object pObject)
        {
            var tIValidatorTool = ToolFactory.CreateIValidatorTool();
            var tIProgramTool   = ToolFactory.CreateIProgramTool();

            if (tIProgramTool.IsStringType(pObject))
            {
                if (tIValidatorTool.IsEmpty(pObject))
                {
                    return(true);
                }
                else
                {
                    var objString = pObject.ToString();
                    var decMax    = Convert.ToDecimal(Max);
                    if (objString.Length < decMax)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
            if (tIProgramTool.IsNumericType(pObject))
            {
                decimal decObj = Convert.ToDecimal(pObject);
                var     decMax = Convert.ToDecimal(Max);
                return(decObj < decMax);
            }
            if (tIProgramTool.IsDateTimeType(pObject))
            {
                if (Max == null)
                {
                    return(true);
                }
                if (pObject == null)
                {
                    return(false);
                }
                DateTime dObj = Convert.ToDateTime(pObject);
                DateTime dMax = Convert.ToDateTime(Max);

                return(dObj < dMax);
            }
            throw new Exception("无法自动检测比较类型");
        }
Example #4
0
        public static T RequestParam <T>(string parameterName, T defaultValue = default(T))
        {
            IValidatorTool validator       = ToolFactory.CreateIValidatorTool();
            var            srcRequestValue = Request[parameterName];

            if (validator.IsEmpty(srcRequestValue))
            {
                return(default(T));
            }
            T value = ToolFactory.CreateIProgramTool().ChanageType <T>(srcRequestValue);

            if (value == null && defaultValue != null)
            {
                return(defaultValue);
            }
            return(value);
        }