/// <summary>
 /// Creates a new QueryableRelatedResourceDocumentMaterializer
 /// </summary>
 protected QueryableToManyRelatedResourceDocumentMaterializer(
     IQueryableResourceCollectionDocumentBuilder queryableResourceCollectionDocumentBuilder,
     ISortExpressionExtractor sortExpressionExtractor,
     IIncludeExpressionExtractor includeExpressionExtractor)
 {
     _queryableResourceCollectionDocumentBuilder = queryableResourceCollectionDocumentBuilder;
     _sortExpressionExtractor    = sortExpressionExtractor;
     _includeExpressionExtractor = includeExpressionExtractor;
 }
 public StarshipOfficersRelatedResourceMaterializer(ResourceTypeRelationship relationship, DbContext dbContext,
                                                    IQueryableResourceCollectionDocumentBuilder queryableResourceCollectionDocumentBuilder,
                                                    ISortExpressionExtractor sortExpressionExtractor,
                                                    IIncludeExpressionExtractor includeExpressionExtractor,
                                                    IResourceTypeRegistration primaryTypeRegistration)
     : base(relationship, dbContext, queryableResourceCollectionDocumentBuilder, sortExpressionExtractor, includeExpressionExtractor, primaryTypeRegistration)
 {
     _dbContext = dbContext;
 }
Beispiel #3
0
 /// <summary>
 /// Builds a new EntityFrameworkToManyRelatedResourceDocumentMaterializer.
 /// </summary>
 public EntityFrameworkToManyRelatedResourceDocumentMaterializer(
     ResourceTypeRelationship relationship,
     DbContext dbContext,
     IQueryableResourceCollectionDocumentBuilder queryableResourceCollectionDocumentBuilder,
     ISortExpressionExtractor sortExpressionExtractor,
     IIncludeExpressionExtractor includeExpressionExtractor,
     IResourceTypeRegistration primaryTypeRegistration)
     : base(queryableResourceCollectionDocumentBuilder, sortExpressionExtractor, includeExpressionExtractor)
 {
     _relationship            = relationship;
     _dbContext               = dbContext;
     _primaryTypeRegistration = primaryTypeRegistration;
 }
Beispiel #4
0
 /// <summary>
 /// Creates a new EntityFrameworkDocumentMaterializer
 /// </summary>
 public EntityFrameworkDocumentMaterializer(
     DbContext dbContext,
     IResourceTypeRegistration resourceTypeRegistration,
     IQueryableResourceCollectionDocumentBuilder queryableResourceCollectionDocumentBuilder,
     ISingleResourceDocumentBuilder singleResourceDocumentBuilder,
     IEntityFrameworkResourceObjectMaterializer entityFrameworkResourceObjectMaterializer,
     ISortExpressionExtractor sortExpressionExtractor,
     IIncludeExpressionExtractor includeExpressionExtractor,
     IBaseUrlService baseUrlService)
 {
     DbContext = dbContext;
     _resourceTypeRegistration = resourceTypeRegistration;
     _queryableResourceCollectionDocumentBuilder = queryableResourceCollectionDocumentBuilder;
     _singleResourceDocumentBuilder             = singleResourceDocumentBuilder;
     _entityFrameworkResourceObjectMaterializer = entityFrameworkResourceObjectMaterializer;
     _sortExpressionExtractor    = sortExpressionExtractor;
     _includeExpressionExtractor = includeExpressionExtractor;
     _baseUrlService             = baseUrlService;
 }
Beispiel #5
0
        /// <summary>
        /// Creates a new FallbackDocumentBuilder
        /// </summary>
        public FallbackDocumentBuilder(ISingleResourceDocumentBuilder singleResourceDocumentBuilder,
                                       IQueryableResourceCollectionDocumentBuilder queryableResourceCollectionDocumentBuilder,
                                       IResourceCollectionDocumentBuilder resourceCollectionDocumentBuilder,
                                       ISortExpressionExtractor sortExpressionExtractor,
                                       IIncludeExpressionExtractor includeExpressionExtractor,
                                       IBaseUrlService baseUrlService)
        {
            _singleResourceDocumentBuilder = singleResourceDocumentBuilder;
            _queryableResourceCollectionDocumentBuilder = queryableResourceCollectionDocumentBuilder;
            _resourceCollectionDocumentBuilder          = resourceCollectionDocumentBuilder;
            _sortExpressionExtractor    = sortExpressionExtractor;
            _includeExpressionExtractor = includeExpressionExtractor;
            _baseUrlService             = baseUrlService;

            _openBuildDocumentFromQueryableMethod =
                new Lazy <MethodInfo>(
                    () => _queryableResourceCollectionDocumentBuilder.GetType()
                    .GetMethod("BuildDocument", BindingFlags.Instance | BindingFlags.Public));

            _openBuildDocumentFromEnumerableMethod =
                new Lazy <MethodInfo>(
                    () => _resourceCollectionDocumentBuilder.GetType()
                    .GetMethod("BuildDocument", BindingFlags.Instance | BindingFlags.Public));
        }