예제 #1
0
        public static IServiceCollection AddInfrastuctureDependencies(this IServiceCollection serviceDescriptors, IConfiguration configuration)
        {
            //DB dependency
            var settings = new CosmoDBSettings();

            configuration.Bind(nameof(CosmoDBSettings), settings);
            serviceDescriptors.AddCosmosDbDependency(settings);

            //Logger dependency
            serviceDescriptors.AddLogger(configuration);

            //Entity specific interface dependency
            serviceDescriptors.AddScoped <IWorkspaceRepository, WorkspaceRepository>();
            return(serviceDescriptors);
        }
예제 #2
0
        public static IServiceCollection AddCosmosDbDependency(this IServiceCollection collection, CosmoDBSettings cosmoDBSettings)
        {
            var cosmosClient      = new CosmosClient(cosmoDBSettings.EndPointUrl, cosmoDBSettings.PrimaryKey);
            var cosmosDbContainer = new CosmosDbContainer(cosmosClient, cosmoDBSettings);

            collection.AddSingleton <ICosmosDbContainer>(cosmosDbContainer);
            return(collection);
        }
 public CosmosDbContainer(CosmosClient cosmosClient, CosmoDBSettings cosmoDBSettings)
 {
     _cosmosClient   = cosmosClient;
     _cosmosSettings = cosmoDBSettings;
 }