예제 #1
0
        public DocumentQuery(IQueryMapper queryMapper, IDocumentQueryFactory queryFactory)
        {
            Guard.AgainstNull(queryMapper, nameof(queryMapper));
            Guard.AgainstNull(queryFactory, nameof(queryFactory));

            _queryMapper  = queryMapper;
            _queryFactory = queryFactory;
        }
        public DocumentRepository(IDatabaseGateway databaseGateway, IDocumentQueryFactory queryFactory)
        {
            Guard.AgainstNull(databaseGateway, nameof(databaseGateway));
            Guard.AgainstNull(queryFactory, nameof(queryFactory));

            _databaseGateway = databaseGateway;
            _queryFactory    = queryFactory;
        }
예제 #3
0
        public DocumentHttpService(IDocumentHttpServiceHandlerBase serviceHandler,
                                   IDocumentQueryFactory <TDocument> queryFactory,
                                   IDocumentStorageFactory storageFactory,
                                   ISystemDocumentStorageFactory systemStorageFactory,
                                   IBlobStorage blobStorage,
                                   IPerformanceLog performanceLog,
                                   ILog log)
            : base(performanceLog, log)
        {
            var storage = serviceHandler.AsSystem
                ? systemStorageFactory.GetStorage <TDocument>(serviceHandler.DocumentType)
                : storageFactory.GetStorage <TDocument>(serviceHandler.DocumentType);

            DocumentType = storage.DocumentType;
            CanGet       = serviceHandler.CanGet;
            CanPost      = serviceHandler.CanPost;
            CanDelete    = serviceHandler.CanDelete;

            _serviceHandler = (IDocumentHttpServiceHandler <TDocument>)serviceHandler;
            _queryFactory   = queryFactory;
            _blobStorage    = blobStorage;
            _storage        = storage;
        }