Ejemplo n.º 1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="source"></param>
 /// <param name="mapper"></param>
 /// <param name="disposing">释放回调</param>
 public QueryResultEnumerator(IResultSource source, IResultMapper <TEntity> mapper, Action <int> disposing)
 {
     mapper.TearUp(source);
     _disposing = disposing;
     _source    = source;
     _mapper    = mapper;
 }
Ejemplo n.º 2
0
        public RetrievalQueryExecutor(string sqlQuery,
                                      IDictionary <string, object> parameters,
                                      IResultMapper <TItem> resultMapper)
        {
            if (sqlQuery == null)
            {
                throw new ArgumentNullException(nameof(sqlQuery));
            }

            if (parameters == null)
            {
                throw new ArgumentNullException(nameof(parameters));
            }


            if (resultMapper == null)
            {
                throw new ArgumentNullException(nameof(resultMapper));
            }


            this.Query        = sqlQuery;
            this.ResultMapper = resultMapper;
            this.Parameters   = parameters;
        }
        public void PerformOnConnection_Verify_Mapper_Called_On_DataReader()
        {
            IResultMapper <MyTestClass> mockMapper = MockRepository.GenerateMock <IResultMapper <MyTestClass> >();

            var mockTestClass = new MyTestClass();

            this.DataReader.Stub(x => x.Read())
            .Repeat
            .Once()
            .Return(true);

            //mock no fields so that no query structure is populated as we do not care about
            //it in this test
            this.DataReader.Stub(x => x.FieldCount)
            .Return(0);


            mockMapper.Expect(x => x.MapResult(Arg <IDataReader> .Is.Equal(this.DataReader), Arg <QueryResultStructure> .Is.Anything))
            .Return(mockTestClass);

            var result = RetrievalQueryExecutorBuilder <MyTestClass> .ForQuery("QUERY")
                         .WithCustomResultMapper(mockMapper)
                         .Build()
                         .PerformOnConnection(this.Connection);

            mockMapper.VerifyAllExpectations();

            Assert.AreSame(mockTestClass, result.First(), "Did not return the expected mapped object");
        }
Ejemplo n.º 4
0
 /// <summary>
 /// 构造
 /// </summary>
 /// <param name="connection"></param>
 /// <param name="mapper"></param>
 /// <param name="procedureName"></param>
 /// <param name="parameter"></param>
 /// <param name="log"></param>
 /// <param name="timeout"></param>
 public StoredProcedureQueryResult(IDbConnection connection, IResultMapper <TEntity> mapper, string procedureName, TParameter parameter, Action <string> log, int timeout) : base(mapper, log)
 {
     _connection    = connection;
     _procedureName = procedureName;
     _parameter     = parameter;
     _timeout       = timeout;
 }
Ejemplo n.º 5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="command"></param>
 /// <param name="mapper"></param>
 /// <param name="log"></param>
 public CommandQueryResult(DbCommand command, IResultMapper <TEntity> mapper, Action <string> log)
     : base(mapper, log)
 {
     if (command == null)
     {
         throw new ArgumentNullException(nameof(command));
     }
     _command = command;
 }
Ejemplo n.º 6
0
        /// <summary>
        /// 构造查询结果
        /// </summary>
        /// <param name="mapper">结果映射器</param>
        /// <param name="log"></param>
        protected QueryResult(IResultMapper <TEntity> mapper, Action <string> log)
        {
            if (mapper == null)
            {
                throw new ArgumentNullException("mapper");
            }

            _mapper = mapper;
            _log    = log;
        }
Ejemplo n.º 7
0
 public ResultController(Messages messages,
                         PeSportsTrackingContext context,
                         ISchoolClassMapper schoolClassMapper,
                         IResultMapper resultMapper
                         )
 {
     _messages          = messages;
     _context           = context;
     _schoolClassMapper = schoolClassMapper;
     _resultMapper      = resultMapper;
 }
Ejemplo n.º 8
0
        internal IResultMapper <Result>?GetResultMapper(int requestCode)
        {
            IResultMapper <Result>?resultMapper   = null;
            var resultMapperAssemblyQualifiedName = _state?.GetString(null, requestCode.ToString());

            if (!string.IsNullOrWhiteSpace(resultMapperAssemblyQualifiedName))
            {
                var resultMapperType = Type.GetType(resultMapperAssemblyQualifiedName);
                resultMapper = (IResultMapper <Result>)Activator.CreateInstance(resultMapperType);
            }

            return(resultMapper);
        }
Ejemplo n.º 9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="connection">连接</param>
 /// <param name="sql">SQL</param>
 /// <param name="parameters">SQL参数</param>
 /// <param name="parameterNaming">参数名构建器</param>
 /// <param name="mapper">数据行映射器</param>
 /// <param name="log">日志回调</param>
 /// <param name="timeout">超时</param>
 public SqlQueryResult(IDbConnection connection, string sql, object[] parameters, Func <string, string> parameterNaming, IResultMapper <TEntity> mapper, Action <string> log, int timeout)
     : base(mapper, log)
 {
     _connection      = connection;
     _sql             = sql;
     _parameterNaming = parameterNaming;
     _parameters      = parameters;
     _timeout         = timeout;
 }