Newer
Older
using Autofac;
using FitConnect.Services;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
public static IWebProxy? WebProxy { get; set; }
public static void DisposeContainer() {
_container?.Dispose();
_container = null;
}
public static IContainer GetContainer(FitConnectEnvironment environment,
return _container ??= BuildContainer(environment, logger);
BuildContainer(FitConnectEnvironment environment,
var builder = new ContainerBuilder();
if (logger == null)
logger = NullLoggerFactory.Instance.CreateLogger("FitConnect");
builder.RegisterInstance(environment).As<FitConnectEnvironment>();
builder.RegisterInstance(logger).As<ILogger>();
builder.Register(c => new OAuthService(environment.TokenUrl)).As<IOAuthService>();
builder.Register(c => new SubmissionService(environment.SubmissionUrl[0]))
builder.Register(c => new DestinationService(environment.SubmissionUrl[0]))
builder.Register(c => new CasesService(environment.SubmissionUrl[0]))
.As<ICasesService>();
builder.Register(c => new RouteService(environment.RoutingUrl)).As<IRouteService>();
return builder.Build();
}
}