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); }
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; }