using Core.Blueprint.Common.DependencyInjection;
using Core.Blueprint.SQLServer.Runtime;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
namespace Core.Blueprint.SQLServer.DependencyInjection;
///
/// Registers runtime sql server integration defaults for blueprint consumers.
///
public static class BlueprintSqlServerServiceCollectionExtensions
{
///
/// Adds sql server runtime settings and baseline runtime services.
///
/// Service collection.
/// Logical connection name.
/// Service collection for fluent chaining.
public static IServiceCollection AddBlueprintSqlServerModule(
this IServiceCollection services,
string connectionName = "DefaultConnection")
{
services.AddBlueprintRuntimeCore();
services.TryAddSingleton(new BlueprintSqlServerRuntimeSettings(ResolveConnectionName(connectionName)));
return services;
}
private static string ResolveConnectionName(string connectionName)
{
if (!string.IsNullOrWhiteSpace(connectionName))
{
return connectionName;
}
return "DefaultConnection";
}
}