Esempio n. 1
0
        protected override void Inject(IDataReader source, object target)
        {
            for (var i = 0; i < source.FieldCount; i++)
            {
                var activeTarget = target.GetProps().GetByName(source.GetName(i), true);
                if (activeTarget == null)
                {
                    continue;
                }

                var value = source.GetValue(i);
                if (value == DBNull.Value)
                {
                    continue;
                }

                if (activeTarget.PropertyType.Name == "Int32")
                {
                    activeTarget.SetValue(target, PublicMethod.GetInt(value));
                }
                else if (activeTarget.PropertyType.Name == "Boolean")
                {
                    activeTarget.SetValue(target, PublicMethod.GetBool(value));
                }
                else
                {
                    activeTarget.SetValue(target, value);
                }
            }
        }