Пример #1
0
        internal TEntity ExecuteSingle(DbCommandData data,
                                       Action <IDataReader, TEntity> customMapper,
                                       Action <dynamic, TEntity> customMapperDynamic)
        {
            AutoMapper <TEntity> autoMapper = null;

            autoMapper = new AutoMapper <TEntity>(data);

            var item = default(TEntity);

            if (data.Reader.Read())
            {
                item = (TEntity)data.ContextData.EntityFactory.Create(typeof(TEntity));

                autoMapper.AutoMap(item);

                if (customMapper != null)
                {
                    customMapper(data.Reader, item);
                }

                if (customMapperDynamic != null)
                {
                    var dynamicAutoMapper = new DynamicTypAutoMapper(data);
                    var dynamicObject     = dynamicAutoMapper.AutoMap();
                    customMapperDynamic(dynamicObject, item);
                }
            }

            return(item);
        }
Пример #2
0
        public object HandleType(Action <TEntity, IDataReader> customMapperReader, Action <TEntity, dynamic> customMapperDynamic)
        {
            TEntity val = (TEntity)dbCommandData_0.Context.Data.EntityFactory.Create(typeof(TEntity));

            if (customMapperReader != null)
            {
                customMapperReader(val, dbCommandData_0.Reader);
            }
            else if (customMapperDynamic != null)
            {
                customMapperDynamic(val, new DynamicDataReader(dbCommandData_0.Reader.InnerReader));
            }
            else
            {
                autoMapper_0.AutoMap(val);
            }
            return(val);
        }
Пример #3
0
        public object HandleType(Action <TEntity, IDataReader> customMapperReader, Action <TEntity, dynamic> customMapperDynamic)
        {
            var item = (TEntity)_data.Context.Data.EntityFactory.Create(typeof(TEntity));

            if (customMapperReader != null)
            {
                customMapperReader(item, _data.Reader);
            }
            else if (customMapperDynamic != null)
            {
                customMapperDynamic(item, new DynamicDataReader(_data.Reader.InnerReader));
            }
            else
            {
                _autoMapper.AutoMap(item);
            }
            return(item);
        }
Пример #4
0
        internal TList ExecuteListReader <TList>(
            DbCommandData data,
            Action <IDataReader, TEntity> customMapperReader,
            Action <dynamic, TEntity> customMapperDynamic
            )
            where TList : IList <TEntity>
        {
            var items = (TList)data.ContextData.EntityFactory.Create(typeof(TList));

            var autoMapper = new AutoMapper <TEntity>(data);

            DynamicTypAutoMapper dynamicAutoMapper = null;

            while (data.Reader.Read())
            {
                var item = (TEntity)data.ContextData.EntityFactory.Create(typeof(TEntity));

                autoMapper.AutoMap(item);

                if (customMapperReader != null)
                {
                    customMapperReader(data.Reader, item);
                }

                if (customMapperDynamic != null)
                {
                    if (dynamicAutoMapper == null)
                    {
                        dynamicAutoMapper = new DynamicTypAutoMapper(data);
                    }
                    var dynamicObject = dynamicAutoMapper.AutoMap();
                    customMapperDynamic(dynamicObject, item);
                }

                items.Add(item);
            }

            return(items);
        }