using TEAMModelOS.SDK.Module.AzureTable.Implements; using TEAMModelOS.SDK.Module.AzureTable.Interfaces; using Microsoft.Extensions.DependencyInjection; using System; namespace TEAMModelOS.SDK.Module.AzureTable.Configuration { public static class AzureTableServiceCollectionExtensions { public static AzureTableServiceBuilder Builder { get; set; } /// /// /// /// /// private static AzureTableServiceBuilder AddServerBuilder(this IServiceCollection services) { return new AzureTableServiceBuilder(services); } /// /// /// /// /// public static AzureTableServiceBuilder AddAzureTableStorage(this IServiceCollection services) { if (Builder == null) { Builder = services.AddServerBuilder(); } services.AddSingleton(); return Builder; } /// /// /// /// /// /// public static AzureTableServiceBuilder AddConnection(this AzureTableServiceBuilder builder, AzureTableOptions databaseOptions) { builder.Services.AddSingleton(databaseOptions); return builder; } } }