Exemple #1
0
        public static string ResolvedConnectionString(this ICosmosPathFinderOption option)
        {
            var properties = new[]
            {
                new KeyValuePair <string, string>(nameof(option.AccountKey), option.AccountKey),
                new KeyValuePair <string, string>(nameof(option.DatabaseName), option.DatabaseName),
            };

            return(new PropertyResolver(properties).Resolve(option.ConnectionString));
        }
        public StoreContainer(ICosmosPathFinderOption storeOption, CosmosClient cosmosClient, ILoggerFactory loggerFactory, ILogger <StoreContainer> logger)
        {
            storeOption.VerifyNotNull(nameof(storeOption)).Verify();
            cosmosClient.VerifyNotNull(nameof(cosmosClient));
            loggerFactory.VerifyNotNull(nameof(loggerFactory));
            logger.VerifyNotNull(nameof(logger));

            _storeOption   = storeOption;
            _cosmosClient  = cosmosClient;
            _loggerFactory = loggerFactory;
            _logger        = logger;
        }
        public CosmosPathFinderStore(ICosmosPathFinderOption storeOption, ILoggerFactory loggerFactory)
        {
            storeOption.VerifyNotNull(nameof(storeOption)).Verify();
            loggerFactory.VerifyNotNull(nameof(loggerFactory));

            _storeOption = storeOption;
            _logger      = loggerFactory.CreateLogger <CosmosPathFinderStore>();

            _cosmosClient = new CosmosClient(storeOption.ResolvedConnectionString());

            Database  = new StoreDatabase(_cosmosClient, loggerFactory.CreateLogger <StoreDatabase>());
            Container = new StoreContainer(storeOption, _cosmosClient, loggerFactory, loggerFactory.CreateLogger <StoreContainer>());
        }
Exemple #4
0
 public static void Verify(this ICosmosPathFinderOption option)
 {
     option.ConnectionString.VerifyNotEmpty(nameof(option.ConnectionString));
     option.AccountKey.VerifyNotEmpty(nameof(option.AccountKey));
     option.DatabaseName.VerifyNotEmpty(nameof(option.DatabaseName));
 }