Files
SkydiveLogs/Back/skydiveLogs-api.Ioc/IocService.cs
2019-11-12 22:24:42 +01:00

43 lines
2.0 KiB
C#

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
namespace skydiveLogs_api.Ioc
{
public class IocService
{
public IocService(IServiceCollection services,
IConfiguration configuration)
{
_services = services;
_configuration = configuration;
}
public void Configure()
{
//services.AddSingleton<IConfigurationRoot>(Configuration);
//_services.AddSingleton<Services.IGroupService, Services.GroupService>();
//_services.AddSingleton<Services.IUserService, Services.UserService>();
//_services.AddSingleton<Services.IPermissionService, Services.PermissionService>();
_services.AddScoped<Business.Interface.IAircraftService, Business.AircraftService>();
_services.AddScoped<Business.Interface.IDropZoneService, Business.DropZoneService>();
_services.AddScoped<Business.Interface.IJumpService, Business.JumpService>();
_services.AddScoped<Business.Interface.IJumpTypeService, Business.JumpTypeService>();
_services.AddScoped<Business.Interface.IStatsService, Business.StatsService>();
_services.AddScoped<Data.Interface.IAircraftRepository, Data.AircraftRepository>();
_services.AddScoped<Data.Interface.IDropZoneRepository, Data.DropZoneRepository>();
_services.AddScoped<Data.Interface.IJumpRepository, Data.JumpRepository>();
_services.AddScoped<Data.Interface.IJumpTypeRepository, Data.JumpTypeRepository>();
_services.AddScoped<Data.Interface.IGearRepository, Data.GearRepository>();
string connectionString = _configuration.GetConnectionString("DefaultConnection");
_services.AddSingleton<Data.Interface.IDataProvider>(c => new Data.LiteDbProvider(connectionString));
}
private readonly IServiceCollection _services;
private readonly IConfiguration _configuration;
}
}