1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- using HaBookCms.AzureStorage.AzureBlob.Implements;
- using HaBookCms.AzureStorage.AzureBlob.Interfaces;
- using HaBookCms.AzureStorage.AzureTable.Implements;
- using HaBookCms.AzureStorage.AzureTable.Interfaces;
- using Microsoft.Extensions.DependencyInjection;
- using System;
- namespace HaBookCms.AzureStorage.ServiceExtension
- {
- public static class AzureStorageServiceCollectionExtensions
- {
- public static AzureStorageServiceBuilder builder { get; set; }
- /// <summary>
- ///
- /// </summary>
- /// <param name="services"></param>
- /// <returns></returns>
- private static AzureStorageServiceBuilder AddServerBuilder(this IServiceCollection services)
- {
- return new AzureStorageServiceBuilder(services);
- }
- /// <summary>
- ///
- /// </summary>
- /// <param name="services"></param>
- /// <returns></returns>
- public static AzureStorageServiceBuilder AddAzureTableStorage(this IServiceCollection services)
- {
- if (builder == null) {
- builder = services.AddServerBuilder();
- }
- services.AddSingleton<IAzureTableDBRepository, AzureTableDBRepository>();
- return builder;
- }
- /// <summary>
- ///
- /// </summary>
- /// <param name="builder"></param>
- /// <param name="_connectionString"></param>
- /// <returns></returns>
- public static AzureStorageServiceBuilder AddConnection(this AzureStorageServiceBuilder builder, AzureStorageOptions databaseOptions)
- {
- // AzureStorageOptions databaseOptions = new AzureStorageOptions();
- // databaseOptions.ConnectionString = _connectionString;
- builder.Services.AddSingleton(databaseOptions);
- return builder;
- }
- /// <summary>
- ///
- /// </summary>
- /// <param name="services"></param>
- /// <returns></returns>
- public static AzureStorageServiceBuilder AddAzureBlobStorage(this IServiceCollection services)
- {
- if (builder == null)
- {
- builder = services.AddServerBuilder();
- }
- services.AddSingleton<IAzureBlobDBRepository, AzureBlobDBRepository>();
- return builder;
- }
- }
- }
|