Skip to content

Instantly share code, notes, and snippets.

@explorer14
Created September 4, 2018 20:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save explorer14/dbf7540dcad81d8aa94c81da6e783069 to your computer and use it in GitHub Desktop.
Save explorer14/dbf7540dcad81d8aa94c81da6e783069 to your computer and use it in GitHub Desktop.
internal static class ServiceCollectionExtensions
{
internal static IServiceCollection AddLibServices(
this IServiceCollection services, bool enableProfiling)
{
if (enableProfiling)
{
services.AddScoped(serviceProvider =>
{
var proxy = ProfilingProxy.CreateProxy(
new PeriodRepository(serviceProvider.GetService()),
serviceProvider.GetService());
return proxy;
});
services.AddScoped(serviceProvider =>
{
var proxy = ProfilingProxy.CreateProxy(
new ReportingRepository(serviceProvider.GetService()),
serviceProvider.GetService());
return proxy;
});
services.AddScoped(serviceProvider =>
{
var proxy = ProfilingProxy.CreateProxy(
new PeriodService(serviceProvider.GetService(),
serviceProvider.GetService()),
serviceProvider.GetService());
return proxy;
});
}
else
{
services.AddScoped();
services.AddScoped();
services.AddScoped();
}
return services;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment