示例#1
0
        /// <summary>
        /// Initialises a new instance of the <see cref="DocumentDbAccess"/> class for testing.
        /// </summary>
        /// <param name="dbConfig">The database config,</param>
        /// <param name="configManager">The document config manager.</param>
        /// <param name="documentClient">The document client.</param>
        /// <param name="dbService">The document db service.</param>
        /// <param name="queryPolicy">The document query policy.</param>
        /// <remarks>
        /// <para>This constructor should be used for internal testing only.</para>
        /// </remarks>
        internal DocumentDbAccess(
            DocumentDbConfig dbConfig,
            ServiceDbConfigManager configManager,
            IDocumentClient documentClient,
            IDocumentDbService dbService,
            IDocumentQueryPolicy queryPolicy)
        {
            if (dbConfig == null)
            {
                throw new ArgumentNullException(nameof(dbConfig));
            }
            if (configManager == null)
            {
                throw new ArgumentNullException(nameof(configManager));
            }
            if (documentClient == null)
            {
                throw new ArgumentNullException(nameof(documentClient));
            }
            if (dbService == null)
            {
                throw new ArgumentNullException(nameof(dbService));
            }
            if (queryPolicy == null)
            {
                throw new ArgumentNullException(nameof(queryPolicy));
            }

            _dbConfig      = dbConfig;
            _configManager = configManager;
            _queryPolicy   = queryPolicy;
            _client        = documentClient;
            _dbService     = dbService;
        }
示例#2
0
        /// <summary>
        /// Initialises a new instance of the <see cref="StandardDbAccessFactory"/> class.
        /// </summary>
        /// <param name="serviceName">The service name.</param>
        /// <param name="config">The database configuration.</param>
        public StandardDbAccessFactory(string serviceName, DocumentDbConfig config)
        {
            if (serviceName == null)
            {
                throw new ArgumentNullException(nameof(serviceName));
            }
            if (config == null)
            {
                throw new ArgumentNullException(nameof(config));
            }

            _serviceName = serviceName;
            _config      = config;
        }
示例#3
0
        /// <summary>
        /// Initialises a new instance of the <see cref="DocumentDbAccess"/> class.
        /// </summary>
        /// <param name="dbConfig">The database config.</param>
        /// <param name="configManager">The document config manager.</param>
        public DocumentDbAccess(DocumentDbConfig dbConfig, ServiceDbConfigManager configManager)
        {
            if (dbConfig == null)
            {
                throw new ArgumentNullException(nameof(dbConfig));
            }
            if (configManager == null)
            {
                throw new ArgumentNullException(nameof(configManager));
            }

            _dbConfig      = dbConfig;
            _configManager = configManager;
            _queryPolicy   = new DocumentQueryPolicy();

            var dbService = new DocumentDbService(configManager, dbConfig);

            _dbService = dbService;
            _client    = dbService.Client;
        }