Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="operatingSession"></param>
        /// <param name="entity"></param>
        /// <param name="memberDescriptor"></param>
        /// <param name="serviceContract"></param>
        /// <param name="queryContract"></param>
        protected virtual void ExecuteQueryImpl(DbQueryOperatingSession operatingSession, object entity, IEntryDescriptor memberDescriptor, IDataServiceContract serviceContract, IDbQueryContract queryContract)
        {
            var _queryContract = queryContract ?? operatingSession.GetDbQueryContract(memberDescriptor);

            InitializeRequiredProperties(operatingSession.OperationContext, _queryContract);

            var _queryContext = operatingSession.CreateDbQueryContext(serviceContract);

            InitializeRequiredProperties(_queryContext, _queryContract);

            var _parameterMapper   = operatingSession.CreateDbQueryParameterMapper(memberDescriptor);
            var _operationExecutor = operatingSession.CreateDbQueryOperationExecutor(memberDescriptor);
            var _propertyValidator = operatingSession.CreateDbQueryPropertyValidator(memberDescriptor);

            _propertyValidator.Validate(entity);

            _parameterMapper.Map(_queryContext, entity);

            _operationExecutor.Execute(entity, _queryContext);

            var _queryResult = _queryContext.Execute();

            if (null != _queryResult && _queryResult.HasResult)
            {
                var _resultMapper = operatingSession.CreateDbQueryResultMapper(memberDescriptor);

                _resultMapper.Map(entity, _queryResult);
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="serviceContract"></param>
        /// <param name="queryAction"></param>
        /// <returns></returns>
        public DbQueryOperatingSession CreateSession(IDataServiceContract serviceContract, DbQueryActions queryAction)
        {
            var _connection       = _connectionPool.DetachConnection(serviceContract);
            var _operatingSession = new DbQueryOperatingSession(this, _connection, queryAction);

            _operatingSession.OperationFailed += new DbQueryFailedEventHandler(_OnOperationFailed);

            _innerSessionRepository.Add(_operatingSession);

            return(_operatingSession);
        }
Esempio n. 3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="operatingSession"></param>
 /// <param name="memberDescriptors"></param>
 public DbQueryResultMapper(DbQueryOperatingSession operatingSession, DbQueryPropertyDescriptors memberDescriptors)
     : base(operatingSession)
 {
     _propertyDescriptors = memberDescriptors;
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="operatingSession"></param>
 /// <param name="memberDescriptors"></param>
 public DbQueryOperationExecutor(DbQueryOperatingSession operatingSession, DbQueryOperationDescriptors memberDescriptors)
     : base(operatingSession)
 {
     _memberDescriptors = memberDescriptors;
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="operatingSession"></param>
 public DbQueryOperatingPrinciple(DbQueryOperatingSession operatingSession)
 {
     _operatingSession = operatingSession;
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="operationSession"></param>
 /// <param name="memberDescriptors"></param>
 /// <param name="isInChild"></param>
 public DbQueryParameterMapper(DbQueryOperatingSession operationSession, DbQueryPropertyDescriptors memberDescriptors, bool isInChild)
     : this(operationSession, memberDescriptors)
 {
     _isInChild = isInChild;
 }
Esempio n. 7
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="operatingSession"></param>
 /// <param name="propertyDescriptors"></param>
 public DbQueryPropertyValidator(DbQueryOperatingSession operatingSession, DbQueryPropertyDescriptors propertyDescriptors)
     : base(operatingSession)
 {
     _propertyDescriptors = propertyDescriptors;
 }