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